Page suivante Page précédente Table des matières
9. Modules
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 versionx.y.zqui est égale ou inférieure à votre version du noyau. Installez-le avec `tar zxvf modules-x.y.z.tar.gz',cddans le répertoire crée (modules-x.y.z), regardez le fichierREADME, et suivez les instructions d'installation (qui sont en général très simples, du genre, faitesmake install). Vous devriez avoir maintenant les programmesinsmod,rmmod,ksyms,lsmod,genksyms,modprobe, etdepmoddans/sbin. Si vous voulez les tester avec le gestionnaire d'exemple "hw" dansinsmod; regardez le fichierINSTALLdans ce sous-répertoire pour les détails.
insmodinsè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, lancerlsmod. 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 quermmodprend comme argument le nom du module, pas un nom de fichier ; ce nom peut être obtenu en exécutantlsmod.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
ypendant le `make config'.Compilez un nouveau noyau et bootez avec. Puis,
cddans/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, oux.y.zest 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, puisrmmod msdoslorsque 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.
Page suivante Page précédente Table des matières