next up previous contents Next: Création d'une image initrd. Up: Démarrage, lilo et initrd. Previous: Création de disquettes de   Table des matières  


32.5 Complications avec SCSI et initrd.

Certaines des explications qui suivent peuvent être difficiles à comprendre sans une connaissance des modules du noyau telle que décrite au chapitre 43. Vous pouvez donc revenir ici plus tard.

Considérons un système avec un disque IDE et un disque SCSI contenant une installation LINUX. Il y a des interruptions du BIOS pour lire les données relatives aux disques SCSI -comme c'est le cas pour les disques IDE, de sorte que LILO peut accéder avec succès à une image du noyau se trouvant sur la partition SCSI. Or, le noyau (voir le chapitre 43) ne peut supporter tous les périphériques possibles à lui seul. En réalité, il est constitué d'un paquet principal (l'image noyau dont nous parlons dans ce chapitre) et plusieurs centaines de modules qui sont des parties chargeables dans le noyau et qui logent dans /lib/modules/. Ces modules supportent des périphériques matériels SCSI, réseau, son, etc. L'image du noyau ne contient pas ces modules. Donc, à l'amorçage le noyau se retrouve dénué de ces derniers. Dans le cas de notre disque SCSI, le noyau doit pouvoir être chargé en mémoire et être exécuté sans pouvoir monter le système de fichiers racine (sauf s'il charge le module SCSI auparavant). Cependant, le noyau lui-même réside dans le système de fichiers de /lib/modules/. Ceci fait que la situation est délicate à résoudre. Il n'y a que deux possibilités: (a) utiliser un noyau avec le support SCSI pré-chargé ou (b) utiliser une image système (préliminaire) du fichier racine, appelée initrd.

La première méthode est directe quoique consommatrice de temps et permet de créer un noyau avec le support SCSI intégré pour votre carte SCSI (on n'utilise donc pas un noyau ayant des modules séparés). Les pilotes intégrés SCSI et réseau reconnaissent automatiquement, la plupart du temps, les cartes de manière à autoriser un accès direct aux périphériques (devices). Il n'y a pas lieu de passer des options spéciales (voir le chapitre 43) et vous ne devez plus vous préoccuper de configurer ces périphériques. Cette approche dite à support intégré (compiled-in) se distingue donc de l'approche à support modulaire. La taille de l'image du noyau est bien sûr augmentée de la taille des modules. Le chapitre 43 explique comment compiler de tels noyaux.

La seconde méthode est plus rapide mais plus complexe à mettre en oeuvre. LINUX supporte ce qu'il convient d'appeler une image initrd (inital rAM disk). Il s'agit d'un petit système de fichiers d'environ 1,5 Mo qui est chargé par LILO et monté par le noyau en lieu et place du système de fichiers réel. Le noyau monte ce système de fichiers comme un disque RAM, exécute le fichier /linuxrc et, par après, monte le système de fichiers réel.


next up previous contents Next: Création d'une image initrd. Up: Démarrage, lilo et initrd. Previous: Création de disquettes de   Table des matières  
1-01-2006