Retour à la compilation du noyau
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 .