11. Créer des CD-ROM amorçables

Cette section a été écrite avec la contribution de Rizwan Mohammed Darwe (rizwan CHEZ clovertechnologies POINT com).

Cette section suppose que vous êtes familier avec la procédure et le fonctionnement de l'écriture de CD sous Linux. Considérez ceci comme une référence rapide pour inclure la possibilité de démarrer à partir du CD que vous allez graver. La CD-Writing-HOWTO devrait vous donner plus de détails.

D'abord, il faut créer un fichier, disons boot.img, qui est l'image exacte de la disquette que vous voulez démarrer via le CD-ROM. Ce doit être une disquette de démarrage 1,44 Mo. La commande suivante permet de la créer :

dd if=/dev/fd0 of=boot.img bs=10k count=144

en supposant que la disquette se trouve dans le lecteur A:.

Placez cette image quelque part dans la hiérarchie qui sera la source du système de fichiers iso9660. C'est une bonne idée de mettre tous les fichiers relatifs au démarrage dans leur propre répertoire (boot/ sous la racine du système de fichiers iso9660, par exemple).

Avertissement : Votre disquette de démarrage doit charger un initial ramdisk via LILO, et pas le disque mémoire du noyau ! Ceci est du au fait que lorsque le noyau démarre, l'émulation BIOS du CD comme disquette est limitée et va échouer. LILO va charger le disque mémoire en utilisant les appels disques BIOS, et l'émulation fonctionne normalement.

La spécification El Torito requiert également la création d'un catalogue de démarrage. Il s'agit d'un fichier de 2048 octets qui n'a pas grand intérêt à part qu'il est nécessaire. La correction réalisée par l'auteur de mkisofs permet la création automatique de ce catalogue de démarrage, mais vous devez spécifier où ce catalogue doit se trouver dans la hiérarchie du système de fichiers iso9660. En général c'est une bonne idée de le mettre au même endroit que l'image de démarrage, et de l'appeler boot.catalog. La commande pour créer le système de fichiers iso9660 dans le fichier bootcd.iso est alors :

mkisofs -r -b boot/boot.img -c boot/boot.catalog -o bootcd.iso .

L'option -b précise l'image de démarrage à utiliser (notez que le chemin est relatif à la racine du disque iso9660), et l'option -c est pour le fichier catalogue de démarrage. L'option -r va mettre les propriétaires et droits des fichiers appropriés (voir la page de manuel de mkisofs). Le « . » à la fin dit de prendre comme source le répertoire courant.

Maintenant gravez le CD avec la commande habituelle et le voilà prêt à démarrer.