This page specifically concerns building kernel modules to work with an existing running kernel without having to rebuild the entire kernel or reboot the system. More detailed information on this topic can be found in the Documentation/kbuild/modules.txt file within the kernel source package.
There are two prerequisites for building modules to work with an existing kernel:
Under Ubuntu the files can be found in the following locations:
Unzip a copy of the Linux kernel sources and change into the root directory of it. Then execute the following commands:
make clean cp /boot/config-$(uname -r) .config cp /usr/src/linux-headers-$(uname -r)/Module.symvers . make oldconfig make modules_prepare
At this point the kernel is ready to build modules:
To only build a subset of modules set the
M variable to a subdirectory — for example, to rebuild only USB audio drivers:
Once the build is complete you should find the
.ko files in their respective subdirectories.
.kofiles or there are other inexplicable build failures, double check that your
GREP_OPTIONSenvironment variable isn't set, and unset it if it is. After unsetting you may need to repeat everything from