9. Modules

Contenu de cette section

Les modules chargeables du moyau peuvent économiser de la mémoire et sont faciles à configurer. La portée des modules a augmenté jusqu'à inclure les filesystems, les gestionnaires de cartes ethernet, les lecteurs de cartouches, les imprimantes, etc.

9.1 Installer les fonctionnalités modules

Ces fonctionnalités sont disponibles sur n'importe quel site où vous avez récupéré les sources du noyau : modules-x.y.z.tar.gz; choisissez la dernière version x.y.z qui est égale ou inférieure à votre version du noyau. Installez-le avec `tar zxvf modules-x.y.z.tar.gz', cd dans le répertoire crée (modules-x.y.z), regardez le fichier README, et suivez les instructions d'installation (qui sont en général très simples, du genre, faites make install). Vous devriez avoir maintenant les programmes insmod, rmmod, ksyms, lsmod, genksyms, modprobe, et depmod dans /sbin. Si vous voulez les tester avec le gestionnaire d'exemple "hw" dans insmod ; regardez le fichier INSTALL dans ce sous-répertoire pour les détails.

insmod insère un module dans le noyau en cours d'exécution. Les modules ont généralement une extension .o. Le pilote fourni en exemple est appelé drv_hello.o, donc, pour l'insérer, insmod drv_hello.o'. Pour voir les modules que le noyau utilise, lancer lsmod. Il devrait alors afficher :

blah# lsmod
Module:        #pages:  Used by:
drv_hello          1
`drv_hello' est le nom du module, il utilise une page mémoire (4k), et aucun autre module du noyau ne dépend de lui. Pour le retirer, lancer `rmmod drv_hello'. Notez que rmmod prend comme argument le nom du module, pas un nom de fichier ; ce nom peut être obtenu en exécutant lsmod.

Les autres programmes de gestion des modules sont documentés (pages de manuel).

9.2 Modules distribués avec le noyau

Avec la version 2.0.30, bon nombre de filesystems, quelques pilotes SCSI, plusieurs gestionnaires de cartes Ethernet, et d'autres périphériques sont des modules chargeables. Pour les utiliser, soyez sûr que vous ne les insérez pas dans la configuration du noyau. Pour cela, ne répondez pas y pendant le `make config'.

Compilez un nouveau noyau et bootez avec. Puis, cd dans /usr/src/linux à nouveau, et faites un `make modules'. Cela va alors compiler tous les modules que vous n'avez pas spécifié dans le noyau, et installer les liens dans /usr/src/linux/modules. Vous pouvez alors les installer en faisant `make modules_install', qui les installera dans /lib/modules/x.y.z, ou x.y.z est le numéro de version.

Cela peut être particulièrement utile pour les filesystems. Vous n'utilisez peut-être pas fréquemment les filesystems minix ou msdos. Par exemple, si je rencontre une disquette msdos, je devrai faire un insmod /usr/src/linux/modules/msdos.o, puis rmmod msdos lorsque j'ai terminé, Ce système économise près de 50 Ko de RAM dans l'utilisation du noyau. Remarque : il est très fortement conseillé de toujours le configurer directement dans le noyau en cas de récupération de disque.


Chapitre suivant, Chapitre Précédent

Table des matières de ce chapitre, Table des matières générale

Début du document, Début de ce chapitre