A betölthetõ kernel modulok memóriát takaríthatnak meg és megkönnyíthetik a konfigurálást. A modulok köre egyre bõvül, magában foglal többek között fájlrendszereket, ethernet-kártya meghajtókat, szalagos egység és nyomtató meghajtókat.
A modulok használatához szükséges segédprogramokat ugyanonnan lehet megszerezni,
ahonnan a kernel
forrást is, modules-x.y.z.tar.gz néven. Válaszd a legnagyobb
x.y.z verziószámot, ami még kisebb-egyenlõ a kerneled verziószámánál.
Csomagold ki a `tar zxvf modules-x.y.z.tar.gz' paranccsal, menj be
a könyvtárba, amit létrehoz (modules-x.y.z), nézd át a README
fájlt és hajtsd végre az installálási utasításokat (ami általában elég
egyszerû, például make install). Ezután kell hogy legyenek
insmod, rmmod, ksyms, lsmod,
genksyms, modprobe és depmod nevû programok az
/sbin könyvtárban. Ha akarod, kipróbálhatod õket az insmod-ban
található ``hw'' példa-meghajtóval. Ebben az alkönyvtárban, az INSTALL
fájlban olvashatóak a részletek.
Az insmod beilleszt egy modult a futó kernelbe. A moduloknak általában
.o kiterjesztésük van. A fent említett példa-meghajtó neve
drv_hello.o, ezt a `insmod drv_hello.o' paranccsal lehet
beilleszteni. Az lsmod kilistázza az éppen használt modulokat.
Az output így néz ki:
blah# lsmod
Module: #pages: Used by:
drv_hello 1
`drv_hello' a modul neve, egy lap (``page'', 4k) memóriát használ és
egyetlen másik kernel modul sem támaszkodik rá pillanatnyilag. A
`rmmod drv_hello' távolítja el a modult. Figyeljük meg, hogy az
rmmod egy modul nevet vár, nem egy fájlnevet. Az elõbbit
az lsmodlistájából lehet megtudni. A többi modul segédprogram is
dokumentálva van a manual oldalakon.
A 2.0.30 verziótól kezdve majdnem minden elérhetõ modul formában is.
Használatuk a következõ: ne konfiguráld bele a kernelbe, azaz ne mondj rá
y-t a `make config' alatt. Fordíts egy új kernelt és bootolj
vele újra. Menj be megint az /usr/src/linux-ba és add ki a
`make modules' parancsot. Ez lefordítja az összes olyan modult, amely
nem szerepelt a kernel konfigurációban és linkeket helyez el rájuk az
/usr/src/linux/modules könyvtárban. Lehet õket közvetlenül innen
is használni, vagy kiadhatod a `make modules_install' parancsot,
ami elhelyezi õket a /lib/modules/x.y.z könyvtárban, ahol
x.y.z a kernel verziója.
Ez különösen a fájlrendszerek esetén lehet kényelmes. Bizonyos fájlrendszereket
általában ritkán használnak. Például ha a kezembe kerülne egy msdos
floppy, akkor annyit tennék, hogy
insmod /usr/src/linux/modules/msdos.o, aztán rmmod msdos
ha végeztem. Ez az eljárás kb. 50k memóriát szabadít fel a szokásos mûködés
közben. Egy megjegyzést kell tenni a minix fájlrendszerrel kapcsolatban:
a ``mentõlemeznek'' készített kernelbe mindig közvetlenül bele
kell fordítani.