Author Topic: no kernel modules  (Read 3045 times)


  • Member
  • *
  • Posts: 91
  • user
no kernel modules
« on: September 21, 2017, 06:04:54 pm »

I used the kernel4.4.SlackBuild to build a custom kernel, which config-32 file I created using make localyesconfig.
Upon reboot, after the kernel begins to load, I got this error message:

Code: [Select]
No kernel modules found for Linux 4.4.80.
mount: mounting /dev/sda4 on /mnt failed: No such device.
ERROR: No /sbin/init found on rootdev (or not mounted). Trouble ahead.
You can try to fix it. Type 'Exit' when things are done.
/bin/bash: can't access tty; job control turned off.

However the modules are all there in /lib/modules/4.4.80.
Is there a way to make the kernel find the modules or else anything I should change in the .config previous to building the kernel to avoid this error?


  • Vectorian
  • ****
  • Posts: 793
  • it's enough
Re: no kernel modules
« Reply #1 on: September 21, 2017, 06:56:42 pm »
In your normal, working VL installation, take a look at /boot/initrd-tree. That's what's missing if you don't load an initrd. In VL's initrd, "init" is a shell script, not a binary. I think reading it (/boot/initrd-tree/init) might help. Hints: device creation and mounting.

If you're already trying to mount an initrd, check that it's properly built with all the necessary contents. Since you're producing a machine-specific OS, there are surely several things in VL's initrd you won't find necessary. Pay attention to how the bootloader (or your manual instructions) refer to the device holding the root filesystem.

Yes, this can be done without an initrd just as you want, but some parts of the initial, read-only mount of root will have to be very specific.