이 콘텐츠는 선택한 언어로 제공되지 않습니다.
Chapter 37. Kernel Modules
The Linux kernel has a modular design. At boot time, only a minimal resident kernel is loaded into memory. Thereafter, whenever a user requests a feature that is not present in the resident kernel, a kernel module, sometimes referred to as a driver, is dynamically loaded into memory.
During installation, the hardware on the system is probed. Based on this probing and the information provided by the user, the installation program decides which modules need to be loaded at boot time. The installation program sets up the dynamic loading mechanism to work transparently.
If new hardware is added after installation and the hardware requires a kernel module, the system must be configured to load the proper kernel module for the new hardware. When the system is booted with the new hardware, the Kudzu program runs, detects the new hardware if it is supported, and configures the module for it. The module can also be specified manually by editing the module configuration file,
/etc/modprobe.conf
.
Note
Video card modules used to display the X Window System interface are part of the
xorg-X11
packages, not the kernel; thus, this chapter does not apply to them.
For example, if a system included an SMC EtherPower 10 PCI network adapter, the module configuration file contains the following line:
alias eth0 tulip
alias eth0 tulip
If a second network card is added to the system and is identical to the first card, add the following line to
/etc/modprobe.conf
:
alias eth1 tulip
alias eth1 tulip
Refer to the Reference Guide for an alphabetical list of kernel modules and supported hardware for those modules.
37.1. Kernel Module Utilities 링크 복사링크가 클립보드에 복사되었습니다!
링크 복사링크가 클립보드에 복사되었습니다!
A group of commands for managing kernel modules is available if the
module-init-tools
package is installed. Use these commands to determine if a module has been loaded successfully or when trying different modules for a piece of new hardware.
The command
/sbin/lsmod
displays a list of currently loaded modules. For example:
For each line, the first column is the name of the module, the second column is the size of the module, and the third column is the use count.
The
/sbin/lsmod
output is less verbose and easier to read than the output from viewing /proc/modules
.
To load a kernel module, use the
/sbin/modprobe
command followed by the kernel module name. By default, modprobe
attempts to load the module from the /lib/modules/<kernel-version>/kernel/drivers/
subdirectories. There is a subdirectory for each type of module, such as the net/
subdirectory for network interface drivers. Some kernel modules have module dependencies, meaning that other modules must be loaded first for it to load. The /sbin/modprobe
command checks for these dependencies and loads the module dependencies before loading the specified module.
For example, the command
/sbin/modprobe e100
/sbin/modprobe e100
loads any module dependencies and then the
e100
module.
To print to the screen all commands as
/sbin/modprobe
executes them, use the -v
option. For example:
/sbin/modprobe -v e100
/sbin/modprobe -v e100
Output similar to the following is displayed:
/sbin/insmod /lib/modules/2.6.9-5.EL/kernel/drivers/net/e100.ko Using /lib/modules/2.6.9-5.EL/kernel/drivers/net/e100.ko Symbol version prefix 'smp_'
/sbin/insmod /lib/modules/2.6.9-5.EL/kernel/drivers/net/e100.ko Using /lib/modules/2.6.9-5.EL/kernel/drivers/net/e100.ko Symbol version prefix 'smp_'
The
/sbin/insmod
command also exists to load kernel modules; however, it does not resolve dependencies. Thus, it is recommended that the /sbin/modprobe
command be used.
To unload kernel modules, use the
/sbin/rmmod
command followed by the module name. The rmmod
utility only unloads modules that are not in use and that are not a dependency of other modules in use.
For example, the command
/sbin/rmmod e100
/sbin/rmmod e100
unloads the
e100
kernel module.
Another useful kernel module utility is
modinfo
. Use the command /sbin/modinfo
to display information about a kernel module. The general syntax is:
/sbin/modinfo [options]<module>
/sbin/modinfo [options]<module> /sbin/modinfo [options]<module> /sbin/modinfo [options]<module>
Options include
-d
, which displays a brief description of the module, and -p
, which lists the parameters the module supports. For a complete list of options, refer to the modinfo
man page (man modinfo
).