If make modules_install fails, the fix depends on the first real error in its output—not the final make: *** summary. This target installs kernel modules; it does not copy the bootable kernel image into your boot directory. Preserve the build and capture the failing command before changing permissions, configuration, or existing module files.
What make modules_install installs
The kernel build’s modules_install target installs compiled modules. By default, in-tree modules go under /lib/modules/$(KERNELRELEASE)/kernel/; external modules use a separate subdirectory, documented by Kbuild as updates/. The release-specific directory matters: a suffix or different release value can make installed files appear to be missing if you are checking another path. See the Kbuild documentation.
The target is separate from installing the bootable kernel image and any distribution-specific boot files. The kernel administration guide describes building the kernel with make, installing modules when the configuration includes them, and copying the kernel image to the location used by the system’s boot process. Follow your distribution’s kernel and bootloader procedure for that separate step. Linux kernel administration guide.
Capture the first failing command and error
-
Keep the complete output from the failed command. Find the first substantive error—such as a failed write, missing file, or explicit configuration diagnostic—rather than treating the final
make: ***line as the cause.Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
If the failure is reproducible, rerun the target with verbose output:
make V=1 modules_installV=1shows the commands being executed. If you normally pass variables or use a particular target directory, include those same arguments in the rerun. The kernel guide documents verbose output and the build/install workflow. Linux kernel administration guide. -
Record the kernel release, architecture, distribution, configuration used for this build, and intended install destination. These details help distinguish a configuration problem from a permissions or path issue.
Match the error to the failing stage
The output says module support is disabled
If the output explicitly says that the present kernel disabled module support and external modules cannot be built or installed, check the configuration used for this build, especially CONFIG_MODULES. Enabling module support means rebuilding with the intended configuration. Changing file permissions will not fix this configuration diagnostic. Kbuild documents the message and its connection to disabled module support. Kbuild documentation.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Rank #3
The install reports permission denied or cannot write under /lib/modules
Check that the actual installation step has appropriate privileges and that the target filesystem is writable. Ordinary kernel compilation should not require root; the privileged operation is the actual system install. The kernel guide puts it this way: “To do the actual install, you have to be root, but none of the normal build should require that.” Linux kernel administration guide.
For packaging, cross-build staging, or to avoid writing into the host’s live root, set INSTALL_MOD_PATH to a staging root. For example:
Rank #4
- Used Book in Good Condition
make INSTALL_MOD_PATH=/frodo modules_install
That places in-tree modules below /frodo/lib/modules/$(KERNELRELEASE)/kernel/, rather than installing them into the host’s /lib/modules tree. Kbuild documentation.
The modules appear in an unexpected directory
Check the release and path values used for the build and install. The default destination includes $(KERNELRELEASE); a configured version suffix or a value passed through INSTALL_MOD_PATH changes where the files appear. Compare the actual destination in the verbose command output with the directory you inspected instead of assuming the modules should be under the host’s current kernel release. Kbuild documentation.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsThe release directory already belongs to a working kernel
Pause before installing if the build uses a release string already present in /lib/modules. Installing again can overwrite the matching module tree. Back up that directory first, or rebuild with a distinct LOCALVERSION suffix so the new build has its own release-specific path. Linux kernel administration guide.
A module file is missing or another command fails
Use the verbose output to identify the exact command that failed and inspect the preceding output for the cause. A missing .ko file or a script/tool error cannot be diagnosed from the target name alone; the available kernel references establish the target’s role and paths, but do not determine the cause of every such error. Do not assume a particular utility or compiler is missing unless the error output shows it.
If you mean the bootable kernel image
make modules_install installs modules, not the bootable kernel image. Build the kernel image and follow your distribution’s instructions for copying or installing it and updating the boot process. Kernel distributions may provide an install script, so check the procedure for your system rather than treating a successful module install as a completed kernel-image installation. Linux kernel administration guide.
What to include when asking for help
- The complete command line, including any variables such as
INSTALL_MOD_PATHorLOCALVERSION. - The first substantive error and the preceding output; include the
V=1command if the failure can be reproduced. - The kernel release, architecture, distribution, and configuration used for the build.
- The destination you intended to use and whether it is a staging directory or the live system root.
Until the failing stage is clear, avoid cleaning the build or overwriting a matching module tree. Keeping the current output and any existing modules intact makes it easier to identify the cause and recover safely.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




