Un module consiste usuellement en un pilote destiné à permettre la communication entre le noyau et un périphérique. Il est soit produit par la commande mknod ou existe déjà dans le répertoire /dev/. Par exemple, lorsqu'il est chargé, le pilote SCSI est défini avec pour numéro majeur de périphérique: 8 et pour mineur: 0,1,... Le module ``sound'' a pour majeur: 14 et pour mineur: 3 (/dev/dsp). Très souvent, le module ``people'' est associé à SCSI, Ethernet et Sound. Il existe aussi beaucoup de modules qui supportent des commandes et non du matériel.
Les modules sont chargés à l'aide de la commande insmod
et sont supprimés à l'aide de rmmod. Cela
ressemble aux opérations effectuées par l'éditeur de liens (linking)
dans les Makefile de la section 24.1.
Si vous voulez afficher les modules chargés, utilisez la commande
lsmod. Pour les noyaux 2.2,
essayez:
insmod /lib/modules/<version>/fs/fat.o
lsmod insmod fat
lsmod
|
insmod /lib/modules/<version>/kernel/fs/fat/fat.o
|
( find /lib/modules/`uname -r`/ -type
f -iname '*.ko' )
modprobe /lib/modules/`uname -r`/kernel/fs/fat/fat |
Parfois, certains modules nécessitent le chargement préalable d'autres
modules. Si vous tentez d'en charger un et que vous obtenez un message
d'erreur comme <nom_module>: unresolved
symbol <nom_symbole>, cela signifie qu'un autre module, au moins,
devait être chargé au préalable. La commande modprobe
charge un module ainsi que ceux dont il dépend. Essayez:
insmod /lib/modules/`uname -r`/fs/vfat.o
( insmod /lib/modules/<version>/kernel/fs/vfat/vfat.o ) modprobe vfat |
/sbin/depmod -a
|
Modules Size Used by
de4x5 41396 1 (autoclean) parport_probe 3204 0 (autoclean) parport_pc 5832 1 (autoclean) lp 4648 0 (autoclean) parport 7320 1 (autoclean) [parport_probe parport_pc lp] slip 7932 2 (autoclean) slhc 4504 1 (autoclean) [slip] sb 33812 0 uart401 6224 0 [sb] sound 57464 0 [sb uart401] soundlow 420 0 [sound] soundcore 2596 6 [sb sound] loop 7872 2 (autoclean) nls_iso8859-1 2272 1 (autoclean) nls_cp437 3748 1 (autoclean) vfat 9372 1 (autoclean) fat 30656 1 (autoclean) [vfat] |