|
DEVICE DRIVERS IN LINUX
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
* Linux device driver kernel files are in /dev
* Drivers are either compiled into the kernel, or loaded as kernel modules
* Linux device driver kernel modules can be configured, loaded, unloaded
without rebooting the system
* Not all device drivers are kernel devices, such as video drivers for xwindows
* The programs insmod, rmmod, ksyms, lsmod, genksyms, modprobe, and depmod are
part of "module utilities" and when installed, the commands are in /sbin
Loading a Device Driver Kernel Module:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Use modprobe to load a kernel module into the running kernel. You can specify
parameters with modprobe too.
modeprobe
Other commands, such as to show the loaded modules or inserting a module into
the running kernel
lsmod
insmod
Modules usually have an extension of ".o"
Modules can be loaded when the system boots. They are specified in the text
configuration file: /etc/modules It contains a list of modules to be loaded.
Options for the modules are in the file: /etc/conf.modules
Rather than directly editing the conf.modules with vi, use the script provided
for that purpose
update-modules
Unloading a Device Driver Kernel Module:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If the module is not used by the system, it may be unloaded by either of the
following methods:
modprobe -r
rmmod
Module related command reference:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lsmod - list loaded modules
insmod - install loadable kernel module
modprobe - high level handling of loadable modules
depmod - handle dependency descriptions for loadable kernel modules
rmmod - unload loadable modules
ksyms - display exported kernel symbols
|