4.3. Préparation des fichiers pour un amorçage avec une clé USB

Pour préparer une clé USB, vous avez besoin d'un système GNU/Linux fonctionnel qui gère les périphériques USB. Sur les systèmes récents, la clé devrait être automatiquement reconnue. Si ce n'est pas le cas, vérifiez que le module du noyau usb-storage est chargé. Une fois insérée, la clé sera associée à un périphérique appelé /dev/sdX, où le « X » est une lettre minuscule (a-z). Avec la commande dmesg, il est possible de savoir à quel périphérique la clé a été associée. Pour pouvoir écrire sur la clé, il vous faudra enlever la protection contre l'écriture.

Avertissement

Les procédures décrites dans cette section détruisent ce qui se trouve sur le périphérique. Faites très attention à utiliser le nom correct pour la clé USB. Si vous vous trompez et utilisez un autre périphérique, un disque dur par exemple, toutes les données du disque seront perdues.

4.3.1. Préparation d'une clé USB utilisant une image hybride (CD ou DVD)

Les images de Debian sur CD ou DVD peuvent être transférées directement sur une clé USB. C'est une méthode très simple pour rendre la clé amorçable. Il suffit de choisir une image qui tienne sur la clé. Consultez Section 4.1, « CD Debian GNU/Linux officiels » pour obtenir cette image.

Pour les clés de très petite taille (quelques mégaoctets), vous pouvez télécharger l'image mini.iso qui se trouve dans le répertoire netboot (son adresse précise est mentionnée dans Section 4.2.1, « Où trouver les fichiers d'installation ? »)

L'image CD ou DVD que vous avez choisie peut être transférée directement sur la clé. Toutes les données existantes sont détruites. Par exemple, avec un système GNU/Linux, après avoir vérifié que la clé n'est pas montée, vous pouvez copier l'image de cette manière :

# cp debian.iso /dev/sdX
# sync

Important

Cette façon de faire devrait convenir à la plupart des utilisateurs. Les méthodes qui suivent sont plus complexes et sont destinées à des utilisateurs aux besoins spécifiques.

L'image hybride n'occupe pas toute la place sur la clé. Si vous n'avez qu'une seule clé ou si vous souhaitez mettre tout ce qui vous est nécessaire sur un seul périphérique, il peut être intéressant d'utiliser l'espace libre pour stocker d'autres fichiers, microprogrammes, paquets, etc.

Pour cela, vous devez créer une deuxième partition FAT, monter la partition et y copier et décompacter le microprogramme. Par exemple :

# mount /dev/sdX2 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount /mnt

Si vous avez copié le fichier mini.iso sur la clé, il n'est pas nécessaire de créer la deuxième partition car elle est déjà présente. Débrancher et rebrancher la clé rend les deux partitions visibles.

4.3.2. Copie des fichiers — méthode simple

Vous pouvez aussi préparer votre clé vous-même en copiant les fichiers de l'installateur et une image CD. Notez que la capacité de la clé doit être au moins égale à 1 Go. Pour des capacités inférieures, voyez Section 4.3.3, « Copie des fichiers — méthode détaillée ».

Le fichier hd-media/boot.img.gz contient tous les fichiers de l'installateur, le noyau et le programme SYSLINUX avec son fichier de configuration.

Bien que pratique, cette méthode possède un inconvénient majeur : la taille logique du périphérique est limitée à 1 Go, même si la capacité de la clé est supérieure. Pour retrouver la taille réelle, il vous faudra repartitionner la clé et créer un nouveau système de fichiers.

Il vous suffit d'extraire cette image sur votre clé USB :

# zcat boot.img.gz > /dev/sdX

Montez ensuite la clé (mount /dev/sdX /mnt), qui aura maintenant un système de fichiers FAT , et copiez une image Debian de type « netinst » ou l'image d'un disque entier. Démontez la clé (umount /mnt) et voilà, c'est fait !

4.3.3. Copie des fichiers — méthode détaillée

Si vous aimez la souplesse d'utilisation ou si vous voulez simplement savoir ce qui se passe, vous pouvez utiliser la méthode suivante pour placer les fichiers sur la clé. L'un des avantages de cette méthode est que, si la capacité de la clé est suffisante, vous pouvez copier l'image d'un disque entier.

4.3.3.1. Partitionner un périphérique USB

Nous montrerons comment utiliser seulement la première partition, au lieu de tout le périphérique.

Note

La plupart des clés USB sont préconfigurées avec une seule partition FAT16. Vous n'aurez sans doute pas à partitionner ou à formater la clé. Si vous devez le faire, utilisez le programme cfdisk ou un autre programme de partitionnement pour créer cette partition [5], puis installez un MBR avec :

# install-mbr /dev/sdX

La commande install-mbr se trouve dans le paquet Debian mbr. Créez maintenant le système de fichier avec :

# mkdosfs /dev/sdX1

Faites attention à utiliser le périphérique correct pour la clé. Le programme mkdosfs se trouve dans le paquet Debian dosfstools.

Pour pouvoir lancer le noyau après l'amorçage sur la clé, nous y installons un programme d'amorçage. Tous les programmes d'amorçage fonctionnent (p. ex. LILO), mais SYSLINUX est préférable car il utilise une partition FAT16 et peut être reconfiguré en modifiant un simple fichier texte. On peut modifier la configuration du programme d'amorçage avec tous les systèmes d'exploitation qui acceptent le système de fichiers FAT.

Pour mettre SYSLINUX sur la partition FAT16 de la clé, installez les paquets syslinux et mtools sur votre système et saisissez la commande :

# syslinux /dev/sdX1

Encore une fois, faites bien attention à utiliser le nom correct pour la clé. La partition ne doit pas être montée au lancement de SYSLINUX. Cette procédure écrit un secteur d'amorçage sur la partition et crée le fichier ldlinux.sys qui contient le code du programme d'amorçage.

4.3.3.2. Ajouter l'image d'installation

Montez la partition (mount /dev/sdX1 /mnt) et copiez les fichiers suivants sur la clé :

  • vmlinuz ou linux (noyau binaire)

  • initrd.gz (image du disque virtuel initial)

  • syslinux.cfg (fichier de configuration de SYSLINUX)

  • Modules optionnels du noyau

Si vous voulez modifier le nom des fichiers, remarquez que SYSLINUX ne peut traiter que des noms de type DOS (8.3).

Le fichier de configuration syslinux.cfg doit contenir les deux lignes suivantes (il faut modifier le nom du noyau, « linux », si vous utilisez une image netboot) :

default vmlinuz
append initrd=initrd.gz

Pour l'installateur graphique, vous devez ajouter à la deuxième ligne le paramètre vga=788. D'autres paramètres peuvent être ajoutés.

Pour que l'invite d'amorçage permette l'ajout de paramètres, créez une ligne prompt 1.

Si vous utilisez une image hd-media, vous devez copier maintenant le fichier ISO d'une image ISO de Debian [6] sur la clé. Une fois l'image copiée, démontez la clé (umount /mnt).



[5] N'oubliez pas de positionner le drapeau « bootable ».

[6] Vous pouvez aussi utiliser l'image « netinst » ou l'image d'un disque complet sur la clé. Consultez Section 4.1, « CD Debian GNU/Linux officiels ». Sélectionnez celle qui va bien. L'image « netboot mini.iso » n'est pas utilisable dans ce cas.