Noyau Linux

État : {traduc}

Retour au document principal

Concepts de noyau

Les deux différents types de noyaux linux sont :

A. Monolithique

Un noyau monolithique supporte tous les matériels, réseau, et système de fichiers compilé dans un fichier image unique.

B. Modulaire

Un noyau modulaire possède des pilotes compilés comme fichiers objets, que le noyau peut charger ou décharger sur demande. Les modules chargeables sont conservés dans /lib/modules.

noyau-linux-1.png

L'avantage d'un noyau modulaire est qu'il n'a pas toujours besoin d'être recompilé lors d'ajout ou de remplacement de matériel sur le système. Un noyau monolithique démarre un peu plus vite qu'un noyau modulaire, mais ne le superforme pas.

Le noyau modulaire

Beaucoup de composants du noyau linux peuvent être compilés comme modules que le noyau peut dynamiquement charger et décharger à la demande.

Beaucoup de modules sont dépendants de la présence d'autres modules. Une base de données simples des dépendances des modules /lib/modules/<kernel-version>/modules.dep est généré par la commande depmod. Cette commande est lancée par le script rc.sysinit quand le système démarre.

-- modprobe chargera tous les modules et les modules dépendants listés dans modules.dep

-- /etc/modules.conf est consulté pour les paramètres de module (IRQ et IO ports) mais contient le plus souvent une liste d'alias. Ces alias autorisent les applications à se référer à un nom courant pour un composant. Par exemple la première carte réseau est toujours référencée par eth0 et non par le nom du pilotes particuliers.

Fig1 : Échantillon de fichier /etc/modules.conf

alias eth0 e100
alias usb-core usb-uhc
alias sound-slot-0 i810_audio
alias char-major-108 ppp_generic
alias ppp-compress-18 ppp_mppe

# 100Mbps full duplex
options eth0 e100_speed_duplex=4

Procédure de recompilation du noyau

Les sources du noyau sont conservés dans l'arborescence /usr/src/linux, qui est un lien symbolique vers le répertoire /usr/src/<kernel-version>. A l'extraction d'un nouveau noyau il est recommandé de :

rm linux

Les sources du noyau organisées sous la forme de RPM créent parfois un lien appelé linux-<version>

tar xjf linux-<version>.tar.bz2 

Note : Depuis les noyaux 2.4 le nom du répertoire est linux-version

ln -s linux-<version> linux