Connexion utilisateur
Sommaire
Commentaires récents
 
Fabriquer un CD amorçable
Le 1 mai 2008, à 2:20 par Ulhume...

L'objectif de ce tutoriel est de pouvoir re-créer une image ISO étendue (augmentée de fichiers, pilotes, etc) à partir d'une image ISO existant ou encore de créer une ISO amorçable à partir des seuls fichiers du CD d'origine. L'utilisation de cette technique est multiple mais pour l'exemple, nous allons l'appliquer à la création d'un CD windows amorçable à partir d'une archive du type de celles fournit par Microsoft et ne contenant que les fichiers d'installation.

Préparation des fichiers

Pour commencer, il nous faut créer un dossier, disons bootable pour faire dans l'originalité. Dans ce dossier nous allons décompresser l'ensemble des fichiers présents dans l'archive d'installation.

Si l'objectif est de recréer un CD contenant plus de pilotes, ou des correctifs, la même recopie peut être faire à partir du CD original ou d'une image ISO de celui-ci que l'on aura monté par un mount image.iso point_montage -o loop.

Les opérations de copie et de mis à jour terminée, nous pouvons passer à l'étude du point délicat de l'histoire, l'image d'amorçage du CD.

Mâter le Torito

Pour la petite histoire, l'extension de la norme ISO9660 du CD-ROM est étendue par un autre norme, nommée El Torito qui elle décrit la manière de démarrer sur le CD-ROM. Physiquement, cela correspond à un secteur du CD contenant les 2048 octets d'un programme d'amorçage. Ce programme est spécifique à l'OS que l'on cherche à utiliser et même parfois à sa version.

Pour créer notre image ISO, nous allons avoir besoin de ce programme sous la forme d'un fichier (une image). Pour Windows, vous pouvez récupéré cette image ici, cherchez dans la page le lien version un fichier cdsector.bin. Mais si cela ne fonctionne pas, vous pouvez toujours l'extraire à partir d'un CD original.

L'opération est un peu plus compliqué qu'il n'y parait car la position de ce secteur n'est pas fixe, elle se calcule. Du coup, pas possible d'utiliser simplement la commande dd sans l'avoir préalablement repéré. Heureusement, il existe un script perl qui fait cela très bien, disponible ici. Il s'utilise très simplement comme cela :

  1. wget http://www.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/geteltorito.pl
  2. chmod +x geteltorito.pl
  3. ./geteltorito.pl image.iso > bootable/BOOT.IMG

Si vous n'avez pas l'image ISO de votre cd, sachez qu'elle peut très facilement être extraire par la commande dd :

dd if=/dev/hdc of=image.iso bs=2048

Si tout c'est bien passé, nous avons notre image de démarrage qui fait très exactement 2048 octets, dans notre dossier bootable. Passons à la création de l'image ISO à proprement parler.

Création de l'image ISO

A ce stade, nous avons tous nos fichiers dans le dossier bootable et notre image el torito en bootable/BOOT.IMG.

Nous allons maintenant utiliser l'indispensable mkisofs disponible dans toutes les distributions pour compiler notre dossier en une image ISO :

mkisofs -o image_finale.iso -b BOOT.IMG -boot-load-seg 1984 -no-emul-boot -boot-load-size 4  -iso-level 2 -J -l -D -N -joliet-long -relaxed-filenames bootable

Au bout de peu de temps, mkisofs a compilé l'ensemble des fichiers en une image ISO amorçable que vous pouvez tester avec VirtualBox par exemple.

Une fois l'image validée, vous n'avez plus qu'à la graver :

cdrecord dev=/dev/hdc image_finale.iso

Commentaires

Poster un nouveau commentaire

Le contenu de ce champ est gardé secret et ne sera pas montré publiquement.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • To highlight piece of code, just surround them with <code type="language"> Your code &tl;/code>>. Language can be java,c++,bash,etc... Everything Geshi support.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Textual smileys will be replaced with graphical ones.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.

Plus d'informations sur les options de formatage