Naprej Nazaj Vsebina

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 izvorno kodo vašega jedra kot modutils-x.y.z.tar.gz; izberite najvišjo številko različice x.y.z, ki je enaka ali manjša vašemu jedru. 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 nekaj preprostega, kot, 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 datoteko INSTALL v tem podimeniku za 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 izgleda 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 ime 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 vsega dostopna kot nalagalni modul. Če jih želite uporabiti, morate nastaviti podatke o njih v običajnem jedru; to se pravi, ne rečete ,,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 na njih. Uporabite jih lahko v tem imeniku ali pa izvedete ,,make modules_install`` in 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 z datotečnimi sistemi. 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-a v jedru med normalnim delovanjem. Pri datotečnem sistemu minix ne bo odveč majhna pripomba: vedno ga podprite neposredno v jedru, da boste lahko uporabljali ,,reševalne`` diskete.


Naprej Nazaj Vsebina