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, « Cédéroms 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 ? »)[4].

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, vous pouvez copier l'image sur la clé de cette manière :

# cat debian.iso > /dev/sdX
# sync

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 à 256 Mo. 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 à 256 Mo, 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 existe aussi un deuxième inconvénient : vous ne pouvez pas copier une image de CD complet mais seulement l'image « netinst » ou l'image « businesscard ».

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 « businesscard ». 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 n'utiliser que 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], et saisissez :

# 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.

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



[4] Pour ajouter un microprogramme sur l'image mini.iso, vous devez d'abord transférer l'image sur la clé. Puis vous devez récupérer les fichiers du microprogramme. Consultez Section 6.4, « Télécharger des microprogrammes (firmware) manquants » pour des précisions. Puis, débranchez la clé et rebranchez-la. Vous devez voir maintenant deux partitions sur la clé. Montez la deuxième partition et placez-y les fichiers du microprogramme.

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

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

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