Naprej Nazaj Kazalo

9. Moduli

Nalagalni moduli lahko prihranijo pomnilnik in poenostavijo konfiguracijo. Domet modulov je razširjen na datotečne sisteme, gonilnike omrežnih kratic, tračnih enot, tiskalnikov in še več.

9.1 Namestitev modulskih pripomočkov

Modulski pripomočki so na voljo, kadarkoli dobite izvirno kodo vašega jedra kot modutils-x.y.z.tar.gz; izberite najvišjo številko različice x.y.z, ki je enaka vašemu jedru ali manjša. Odpakirajte jih z ,, tar zxvf modutils-x.y.z.tar.gz``, pojdite s cd na imenik, ki ga ustvari tar (modutils-x.y.z), preglejte datoteko README in upoštevajte navodila (kar je navadno preprosto, denimo make install). Zdaj morate imeti programe insmod, rmmod, ksyms, lsmod, genksyms, modprobe in depmod v imeniku /sbin. Če želite, lahko preskusite pripomočke s preizkuševalnim gonilnikom ,,hw`` v programu insmod; preberite si datoteko INSTALL v tem podimeniku, če vas zanimajo podrobnosti.

insmod vključi modul v tekoče jedro. Moduli imajo navadno podaljšek .o; preizkuševalni gonilnik, omenjen zgoraj, se imenuje drv_hello.o, torej morate napisati ,,insmod drv_hello.o``, če ga želite vključiti. Module, ki jih jedro trenutno uporablja, lahko izpišete z lsmod. Izhod je videti takole:

blah:# lsmod 
Module:    #pages: Used by: 
drv_hello     1

,,drv_hello`` je ime modula, uporablja eno stran (4 KB) pomnilnika in noben drug jedrni modul trenutno ni odvisen od njega. Ta modul odstranite z ukazom ,,rmmod drv_hello``. Paziti morate, ker hoče rmmod ime modula, ne imena datoteke; dobite ga z izpisom lsmod. Nameni drugih modulskih pripomočkov so našteti v njihovih referenčnih priročnikih (npr. man ksyms).

9.2 Moduli, distribuirani poleg jedra

Od različice 2.0.30 je večina dostopna kot nalagalni modul. Če jih želite uporabiti, morate nastaviti podatke o njih v običajnem jedru; to se pravi, ne odgovorite ,,y`` med ,,make config``, temveč ,,m``. Prevedite novo jedro in z njim zaženite sistem. Potem naredite ,,cd /usr/src/linux`` in ukažite ,,make modules``. To prevede vse module, ki jih niste že navedli v konfiguraciji jedra, in v imenik /usr/src/linux/modules namesti povezave do njih. Uporabite jih lahko v tem imeniku ali pa izvedete ,,make modules_install`` ter jih s tem namestite v imenik /lib/modules/x.y.z, kjer je x.y.z številka izdaje jedra.

To je lahko še posebno uporabno pri datotečnih sistemih. Morda ne uporabljate pogosto datotečnih sistemov minix in/ali msdos. Na primer, kadar dobim dosovsko (brrr) disketo, naredim insmod /usr/src/linux/modules/msdos.o, in potem rmmod msdos, ko opravim z njo. Ta postopek privarčuje okoli 50 KB RAM v jedru med normalnim delovanjem. Pri datotečnem sistemu minix ne bo odveč drobna pripomba: vedno ga podprite neposredno v jedru, da boste lahko uporabljali ,,reševalne`` diskete.


Naprej Nazaj Kazalo