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.
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).
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