Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a question regarding a kernel installation. I downloaded a new version of net-next kernel source and I performed the following steps:

  • make allyesconfig
  • make -j16
  • make modules_install
  • make install

The problem is that when I try to execute make install, I get a "modules not found" error. I am confused here since someone else was able to make the kernel with the same procedure and I am unable to do the same (We both have root permission). Is there something extra I need to do to make sure those modules are visible/available?

share|improve this question

When make install is invoked, it will invoke a distribution-specific script to build the initrd.img, this script will lookup all the modules that required by this distribution, but because you have just compiled all modules into kernel as built-in via make allyesconfig, the script failed to lookup modules.

I can't reproduce your problem just now, I remember "modules not found" is just warnings, I always ignore it because the initrd.img was successfully built and the new kernel was successfully booted. If you do fail on "modules not found", you should re-config such modules from built-in modules to real loadable modules by manually via make menuconfig by this way: "modules not found" message contains module name, use the name to search through Makefiles to find out which CONFIG_XXX, and turn that CONFIG_XX to =m.

At the last, if you just want a newly built kernel, I suggest you use the distribution config instead make allyesconfig:

cd your_kernel_src
cp /boot/your_distribution_config .config
make menuconfig             # can exit it directly with nothing changed
make -j16
make modules_install
make install
# update the grub, if it is required for your distribution.
share|improve this answer

You compiled the kernel with plain make, but not the modules. Run make -j16 all modules.

share|improve this answer
make will compiles the kernel and the modules – Lai Jiangshan Jul 31 '12 at 15:33

You have to make sure the toolchain is aware of the kernel source tree you're working with. You have to set the environment variable KERNEL_TREE to the directory where your sources are. See http://unix.stackexchange.com/a/147700/37538 for reference.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.