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

Pour amorcer à partir d'une clé USB, il existe deux méthodes. La première est de faire toute l'installation sur le réseau. La seconde consiste à copier une image CD sur la clé et à utiliser cette image comme source de paquets, source qui peut se combiner avec un miroir. Cette deuxième méthode est la plus commune.

Pour la première méthode, vous devez télécharger une image de l'installateur 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 ? ») et copier les fichiers sur la clé en utilisant la « méthode détaillée » décrite plus bas.

Pour la seconde méthode, les images d'installation se trouvent dans le répertoire hd-media. Pour copier les fichiers sur la clé, vous pouvez utiliser aussi bien l'une ou l'autre des méthodes décrites plus bas. Vous devez aussi télécharger une image CD. Les images de l'installation ainsi que l'image CD doivent être basées sur la même version de l'installateur. En cas de non correspondance, des erreurs [6] sont possibles.

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, par exemple un disque dur, toutes les données du disque seront perdues.

Notez que la capacité de la clé doit être au moins égale à 256 Mo. Pour des capacités inférieures, voyez Section 4.3.2, « Copie des fichiers — méthode détaillée ».

4.3.1. Copie des fichiers — méthode simple

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 de nouveaux systèmes 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 ISO de type « netinst » ou « businesscard ». Démontez la clé (umount /mnt) et voilà, c'est fait !

4.3.2. 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 mettre 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.2.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 et saisissez :

# mkdosfs /dev/sda1

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.2.2. Ajouter l'image d'installation

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

  • vmlinuz (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 :

default vmlinuz
append initrd=initrd.gz

Pour l'installateur graphique, vous devez ajouter à la deuxième ligne le paramètre video=vesa:ywrap,mtrr vga=788.

Si vous utilisez une image hd-media, vous devez copier une image ISO de Debian, « businesscard », « netinst » ou l'image d'un disque complet sur la clé. Une fois l'image copiée, démontez la clé (umount /mnt).

4.3.3. Amorcer la clé USB

Avertissement

Si le système refuse de s'amorcer à partir de la clé, il se peut que le secteur principal d'amorçage de la clé soit défectueux. Corrigez-le avec le programme install-mbr qui se trouve dans le paquet mbr :

# install-mbr /dev/sdX



[6] Le message d'erreur le plus fréquent est qu'aucun module noyau ne peut être trouvé. Cela signifie que la version des « udebs »pour les modules du noyau dans l'image CD ne correspond pas à la version du noyau en cours d'exécution.