The Linux kernel is modular, and device driver software is inserted into the running kernel as needed.
Module files are objects, stored under /lib/modules.
Kernel modules can be managed using:
Insert a module into the kernel.
List modules.
Get information about a module.
Insert modules along with their prerequisites.
Remove a module from the kernel.
Modules are configured in /etc/conf.modules or /etc/modules.conf.
modprobe determines module dependencies using a filecalled modules.dep. This file is usually created at boot time usingdepmod.
To build a kernel, you need the compiler, assembler, linker, make, kernel source, and kernel headers.
These are typical kernel compilation steps, done in /usr/src/linux:
Make a configuration using make oldconfig (existing setup), make config (basic interactive text program), make menuconfig (interactive text menu program), or make xconfig (graphical program). Each method creates the .config file containing kernel options.
Modify EXTRAVERSION
in Makefile, if desired.
Build dependencies using make dep.
Clean old results with make clean.
Create the kernel with make bzImage.
Create modules with make modules.
Install the modules with make modules_install.
Copy the new image to /boot.
Update /etc/lilo.conf for the new image.