Ein Kernelmodul unter Linux (siehe auch LinuxKernel) ist etwas sinngemäß ähnliches, wie ein "Treiber" unter anderen Betriebssystemen - nur besser, denn man kann ein LKM (Linux Kernel Modul) zur Laufzeit laden und auch wieder entladen (ohne Neustart ;).

Beim Linux-Kernel kann man es sich beim Übersetzen raussuchen, ob ein "Treiber" fest im Kernel oder als LKM übersetzt wird. LinuxDistributionen sind i.d.R. voll modularisiert, haben also praktisch alle Treiber als LKM.

Mini-Howto

Infos über ein Modul (insbesondere Modulparameter)

modinfo modul

geladene Module anzeigen

lsmod oder cat /proc/modules

Modul laden (primitiv)

insmod modul

Modul laden (Komfort-Version, lädt auch Abhängigkeiten)

modprobe modul

Modul entladen

rmmod modul

Einstellungen zu Modulen (Parameter, Ladeskripte, etc) kann man über die Datei /etc/modules.conf festlegen. Nach einer Änderung muss man das Programm depmod ausführen. Die Datei wird nur in Verbindung mit modprobe wirksam, nicht mit insmod.

Einstellungen in modules.conf

Beispiel

Modulparameter

options modul parameter

options 3c59x full_duplex=1

Modul einem Gerät zuordnen

alias gerät modul

alias eth0 3c59x

Befehl nach dem Laden ausführen

post-install modul befehl

post-install ip_conntrack modprobe ip_conntrack_ftp

Befehl vor dem Entladen ausführen

pre-remove modul befehl

pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :

Weitere Möglichkeiten stehen in der ManPage zu modules.conf.

Normalerweise geschieht das Laden von Modulen vollautomisch durch kmod, den Kernel-Modul-Lader (in Verbindung mit modprobe). Bei manchen Konstellationen kann es notwendig sein, Module von Hand zu laden; wie man das elegant lösen kann, zeigt dieses /LadeSkript.