CD bootable avec divers utilitaires
PrécédentSuivant

Chapitre 3. Création d'un CD Bootable

Table des Matières
Ramdisk
syslinux
Hello World sur CD
Un CD avec bash

Dans le cas d'une utilisation sur un seul ordinateur, nous savons sur quelle interface IDE est branché le CD, nous pouvons donc indiquer au noyau que, par exemple, son système de fichiers racine est /dev/hdc, si le lecteur de CD est branché en ma^itre sur l'interface IDE secondaire.

Mais l'intérêt d'utiliser un CDROM est justement de pouvoir l'utiliser sur plusieurs ordinateurs. Dans ce cas, nous ne savons pas à l'avance où va se trouver le lecteur de CD, et il ne sera probablement jamais branché e la même manière.

Le noyau Linux peut utiliser un système de fichiers racine particulier, un "ramdisk", ou "disque en mémoire vive". Lors d'un boot sur disquette, le noyau peut occuper les premiers secteurs de la disquette, et le système de fichiers racine peut être compressé sur le reste de la disquette. Le noyau charge alors le système de fichiers en mémoire, le décompresse, et le monte en /.

Mais l'affaire est plus compliquée lors d'un boot sur CD : le BIOS, pour pouvoir booter à partir du CD, lit une partie du CD comme s'il s'agissait d'une disquette. Cela se passe très bien pour le chargement du noyau, mais lorsque le noyau tente de charger la seconde partie de la disquette (émulée sur CD), il n'y arrive pas car Linux n'utilise plus le BIOS pour lire la disquette. Ainsi, les lectures sur disquettes ne sont plus détournées vers le CD.

Heureusement, un utilitaire, syslinux, utilise le BIOS aussi bien pour lire le système de fichiers que le noyau. Nous utiliserons donc ce système pour pouvoir booter sur CD.

Il y a deux manières d'utiliser un ramdisk. Soit pour créer un système minimal, qui ne permet pas de faire grand chose, à cause du manque de place sur disquette notamment. Les disquettes de sauvetage de diverses distributions utilisent cette méthode. Vous pourrez consulter le fichier /usr/src/linux/Documentation/ramdisk.txt pour plus de détails.

Une autre méthode, appelée initrd, (pour "initial ramdisk", ou disque en mémoire initial), permet d'utiliser un système minimal en mémoire, pouvant réaliser diverses tâches, puis lorsque ce système se termine, il est démonté et le vrai système de fichiers racine est monté. Dans notre cas, nous pourrons donc, dans l'initrd, déterminer où se trouve le vrai système de fichiers (c'est-à-dire le lecteur de CD). Vous pourrez consulter le fichier /usr/src/linux/Documentation/initrd.txt pour plus de détails.


PrécédentDébut du documentSuivant
Exemple 3 Ramdisk