|
|
Les Modules Chargeables
|
Avec les anciennes version du noyau ,les modules devaient être chargés et déchargés manuellement par les commandes :
# insmod Insertion du module dans le noyau
# rmmod Supression du module dans le noyau
# lsmod Affichage des modules présents dans le noyau
La gestion des modules depuis la version 2 du noyau est automatique , le noyau charge les modules qui sont appelés
et les décharge lorsqu'ils ne sont plus utilisés .
|
Notion : A quoi ça sert les modules ?
Considérons le noyau comme un bloc(objet) monolithique (en un seul morceau) : Ce bloc est statique et peut
devenir volumineux . Comme vous l'avez vu , à chaque fois que vous ajoutez un périphérique , il vous faut recompiler
ce bloc monolithique pour lui ajouter les gestionnaire des périphérique consernés : Cela présente l'inconvénient d'y inclure
des gestionnaires pour des périphériques fort peu utilisés et qui seront chargés au démarrage du système diminuant ainsi les
ressources disponibles . Et votre noyau risque de devenir très volumineux et lent .
Pourquoi des modules chargeables ?
Imaginez maintenant que pour réduire notre noyau monolithique nous le configurons avec les modules . Notre noyau ne sera plus
monolithique mais aura une partie statique et une partie dynamique .
La partie dynamique va gérer les modules et la partie statique contiendra le strique nécessaire pour lancer notre système .
Il faut évidemment que cette dernière contiennent un minimum d'options ! ... comme le support pour le disque à parir duquel "Boot" vôtre
système IDE ou SCSI et le type de fichiers ext2fs pour Linux et également NFS si votre machine utilise un répertoire /usr2/ situé sur un
autre disque dur du réseau (local) .
|
Installation :
Les Modules sont situés dans le répertoire /lib/modules/x.x.x/ (numéro de la version)
Ce répertoire contient un fichier README ,cela peut aider !
Si vous avez récupéré les modules pour une ancienne version du noyau vous devez décomprésser le fichier en faisant :
# tar zxvf modules-x.x.x.tar.gz puis :
# cd /lib/modules/x.x.x et:
# jed README par exemple ...
Avec la version 2. du noyau , les modules sont récupérable séparement depuis un site FTP dans :
/modules/2.0.34/cdrom/Sony535.o pour votre lecteur deCDRom Sony 535 .
Avec la version 2.0.30 un grand nombre de modules sont inclus .
|
La configuration du noyau :
Pour activer la gestion des modules , ces options sont indispensables :
Votre menu (en couleur) apparait avec # make menuconfig
Vous devez tapez "y" "n" ou "m" ,m passe le gestionnaire en module .
Dans la section :
# Loadable module Support
CONFIG_MODULES = répondez "y" ,Active les modules chargeables
CONFIG_MODVERSION = personnellement je réponds "n" ,cela n'autorise pas d'autres modules que ceux compilés
avec le noyau et implique la recompilation des modules à chaque mise à jour du noyau . Si vous répondez "y"
,Vous autorisez toutes les versions des modules présents .?
CONFIG_KERNELD = répondez "y" ,Active le chargemet Automatique des modules .
dans la section :
# General Setup
CONFIG_SYSVIPC = répondez "y" ,c'est le système de communication Inter-processus utilisé par le noyau pour
communiquer avec le démon qui automatise le chargement des modules .
|
Otez-moi d'un doute ?!!
Pour connaitre les options des différentes sections du menuconfig ,regardez le chapitre recompilation du noyau
dans le Guide du Rootard qui détaille ce que vous pouvez y faire en fonction de votre configuration :
Disque E-IDE ATAPI SCSI ,carte Ethernt Audio ....
Pour connaitre les options de votre noyau actuel : vous enregistrez les messages de lancement dans un fichier :
# dmesg > Options_du_Noyau et vous éditez ce fichier .
Les Modules :
Ils sont situés dans /lib/modules/2.0.x/ ou /lib/modules/current/ si vous avez installé différentes versions .
Ils seront mis en place dans un certain ordre par le démon kerneld à l'aide du fichier /etc/rc.d/rc.modules
et "kernld" est lancé par le fichier /etc/rc.d/rc.s , encore un , /etc/conf.modules indique
chemin (PATH) des modules .
|