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 lsmod
listá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.