Chargement des modules de noyau

Le noyau Linux a une conception modulaire. Au démarrage, seule une petite partie du noyau résident est chargée en mémoire. Ensuite, chaque fois qu'un utilisateur demande d'utiliser une fonction qui n'est pas présente dans le noyau résident, un module de noyau est chargé de façon dynamique dans la mémoire. Après une certaine période d'inactivité, le module en question peut être retiré de la mémoire.

Le mécanisme qui prend en charge le chargement dynamique des modules de noyau est géré par un élément du noyau appelé kmod. Ainsi, les modules ne sont pas chargés tant qu'ils ne sont pas requis. De plus, lorsque le noyau demande un module, le module est chargé, de même que toutes ses dépendances.

Lorsque vous installez Red Hat Linux, le matériel présent sur votre système est détecté et vous fournissez ensuite les informations nécessaires pour indiquer de quelle façon le système sera généralement utilisé et quels programmes doivent être chargés. Sur la base de cette détection et des informations données, le programme d'installation décide quelles fonctions compiler dans le noyau résident et quelles fonctions mettre dans les modules chargeables. Le programme d'installation définit le mécanisme de chargement dynamique afin qu'il fonctionne de façon transparente. Enfin, si vous construisez votre propre noyau personnalisé, vous pouvez alors prendre toutes ces décisions vous-même.

Si vous ajoutez du matériel après l'installation et que celui-ci nécessite un module de noyau, vous devez redéfinir le mécanisme de chargement dynamique. Kudzu détecte généralement le nouveau matériel. Vous pouvez aussi ajouter le nouveau pilote en modifiant le fichier de configuration /etc/modules.conf.

Par exemple, si votre système comprend une carte réseau EtherPower 10 PCI SMC lors de l'installation, le fichier de configuration contient alors cette ligne :

alias eth0 tulip

Si vous installez une deuxième carte réseau identique sur votre système après l'installation, ajoutez la ligne suivante au fichier /etc/modules.conf :

alias eth1 tulip

Reportez-vous au Guide de référence officiel Red Hat Linux pour consulter une liste alphabétique des modules de noyau et du matériel pris en charge par les modules.