FLASH INFORMATIQUE FI



Transférer vos images ISO sur une clef USB


Nous allons décrire dans cet article, une méthode simple et universelle pour transférer vos images ISO de votre distribution GNU/Linux sur une clef USB.



We will describe in this paper, a simple and universal method to transfer your ISO images of your GNU/Linux distribution on a USB key.


Benjamin BARRAS


Introduction

Les lecteurs CD/DVD se font de plus en plus rare sur les ordinateurs récents, il est donc important de savoir installer sa distribution GNU/Linux depuis une clef USB, surtout si l’on ne dispose que d’une image ISO pour le faire. Il est relativement simple de transférer son image ISO sur une clef USB moyennant quelques précautions. Bien sûr, il existe une multitude d’outils qui font faire cela en seulement quelques clics. Malheureusement, ces outils ne marchent vraiment bien que pour votre distribution GNU/Linux préférée et ne sont souvent pas universels. Il existe également des images préparées pour clef USB pour chaque distribution GNU/Linux, le problème ici est que cette image va détruire la structure de votre clef USB ainsi que son contenu. De plus, il n’est pas idiot d’apprendre et de comprendre comment ces outils fonctionnent, cela vous permettra de faire vous-même vos distributions sur une clef USB.

Avertissement

Comme je l’ai annoncé, nous allons faire simple. Nous partirons donc avec une clef USB déjà formatée, en FAT32, et il ne nous restera plus qu’à y mettre du contenu et d’y installer l’amorce afin que cette clef puisse démarrer. Nous emploierons l’utilitaire SYSLINUX qui nous permettra de rendre amorçable notre clef USB qui devra être au format FAT. Il est important de travailler avec une version récente de syslinux, sinon vous risquez d’avoir quelques soucis concernant les menus graphiques. La première chose à faire est de repérer où se trouve notre clef USB, la commande suivante vous aidera à trouver votre partition :

sudo mount | grep media
/dev/sdb1 on /media/usbKey type vfat (rw,noexec,nosuid,nodev,shortname=winnt,uid=1216)

Ma clef USB s’appelle usbKey et est montée comme partition externe (/dev/sdb1, de type vfat) sur /media/usbKey.

Méthode

Il nous faut commencer par récupérer une image ISO de notre distribution GNU/Linux, par exemple l’image mini.iso d’Ubuntu. Pour ce faire, montons notre image pour en récupérer le contenu comme suit :

sudo mkdir /mnt/iso
sudo mount -o loop mini.iso /mnt/iso

On recopie tout le contenu de notre image ISO tel quel sur notre clef USB :

cp -r /mnt/iso/* /media/usbKey

Renommer le fichier isolinux.cfg

Il nous reste plus qu’à renommer le fichier isolinux.cfg et le dossier isolinux, si ce dernier existe, par respectivement syslinux.cfg et syslinux. Il peut y avoir trois cas de figures possible.

# Le fichier isolinux.cfg se trouve dans le dossier /media/usbKey :
mv /media/usbKey/isolinux.cfg /media/usbKey/syslinux.cfg

# Le fichier isolinux.cfg se trouve dans le dossier /media/usbKey/isolinux :
mv /media/usbKey/isolinux/isolinux.cfg /media/usbKey/isolinux/syslinux.cfg
mv /media/usbKey/isolinux /media/usbKey/syslinux

# Le fichier isolinux.cfg se trouve dans le dossier /media/usbKey/boot/isolinux :
mv /media/usbKey/isolinux/boot/isolinux.cfg /media/usbKey/isolinux/boot/syslinux.cfg
mv /media/usbKey/isolinux /media/usbKey/syslinux

Nous en avons déjà fini avec le contenu, il ne nous reste plus que la partie délicate à faire.

Rendre amorçable la clef USB

C’est le point le plus délicat, et la raison principale pour laquelle notre clef USB ne démarre pas. Il faut tout d’abord prendre soin de défaire notre point de montage (sans retirer la clef) :

sudo umount /media/usbKey

Ensuite nous devons employer l’utilitaire SYSLINUX qui va nous créer un fichier ldlinux.sys à la racine de notre partition. Soit :

sudo syslinux /dev/sdb1

# Ou dans le dossier syslinux si il existe
# sudo syslinux -d /syslinux /dev/sdb1

# Ou encore dans le dossier /syslinux/boot
# sudo syslinux -d /syslinux/boot /dev/sdb1

Comme il y a peu de chance que le Master Boot Record  soit présent sur notre clef USB, faisons également :

locate mbr.bin
/usr/share/syslinux/altmbr.bin
/usr/share/syslinux/gptmbr.bin
/usr/share/syslinux/mbr.bin

cat /usr/share/syslinux/mbr.bin > /dev/sdb

Il faut encore activer le flag Boot sur notre partition :

sudo fdisk /dev/sdb

Command (m for help): m
Command action
  a   toggle a bootable flag
  p   print the partition table
  w   write table to disk and exit
  ...

Command (m for help): p

Disk /dev/sdb: 4110 MB, 4110417920 bytes
127 heads, 62 sectors/track, 1019 cylinders
Units = cylinders of 7874 * 512 = 4031488 bytes

 Device Boot  Start   End    Blocks  Id  System
/dev/sdb1         1  1019  4011802+  b  W95 FAT32

Command (m for help): a
Partition number (1-4): 1

Command (m for help): p

Disk /dev/sdb: 4110 MB, 4110417920 bytes
127 heads, 62 sectors/track, 1019 cylinders
Units = cylinders of 7874 * 512 = 4031488 bytes

 Device Boot  Start   End    Blocks  Id  System
/dev/sdb1   *      1  1019  4011802+  b  W95 FAT32

Command (m for help): w

Ces trois manipulations ne sont là que pour rendre amorçable notre clef USB et on ne fait qu’une seule et unique fois les deux dernières manipulations. Vous pouvez tester si votre clef USB démarre avec l’émulateur qemu :

sudo qemu -hda /dev/sdb -m 256 -vga std

Une fois que votre clef USB démarre, vous pouvez passer à la dernière étape.

Personnaliser votre clef USB

Pourquoi faire simple quand on peut faire compliqué  ? Telle est la devise de notre époque dite moderne. Il est probable que vous deviez retoucher votre fichier de configuration syslinux.cfg. Par exemple avec Fedora 14, le fichier se présente ainsi :

default vesamenu.c32
#prompt 1
timeout 600

display boot.msg

menu background splash.jpg
menu title Welcome to Fedora 14!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
 menu label ^Install a new system or upgrade an existing system
 menu default
 kernel vmlinuz
 append initrd=initrd.img stage2=hd:LABEL="Fedora"
label vesa
 menu label Install system with ^basic video driver
 kernel vmlinuz
 append initrd=initrd.img stage2=hd:LABEL="Fedora" xdriver=vesa nomodeset
label rescue
 menu label ^Rescue installed system
 kernel vmlinuz
 append initrd=initrd.img stage2=hd:LABEL="Fedora" rescue
label local
 menu label Boot from ^local drive
 localboot 0xffff
label memtest86
 menu label ^Memory test
 kernel memtest
 append -

Hors il est peu probable que votre clef USB s’appelle Fedora, et donc vous devez changer le nom du label par le nom de votre clef USB, dans notre cas ce sera usbKey. On en profite au passage pour se débarrasser du menu graphique qui peut poser quelques problèmes si vous n’avez pas une version récente de syslinux.

prompt 1
timeout 600

default linux

say Type linux for : Install a new system or upgrade an existing system
say Type vesa  for : Install system with ^basic video driver
say Type rescue for : Rescue installed system
say Type local for : Boot from local drive
say Type memtest86 for : Memory test

label linux
 kernel vmlinuz
 append initrd=initrd.img stage2=hd:LABEL="usbKey"
label vesa
kernel vmlinuz
 append initrd=initrd.img stage2=hd:LABEL="usbKey" xdriver=vesa nomodeset
label rescue
 kernel vmlinuz
 append initrd=initrd.img stage2=hd:LABEL="usbKey" rescue
label local
 localboot 0xffff
label memtest86
 kernel memtest
 append -

Pour aller plus loin, je vous laisse lire ou relire l’article : Personnaliser vos images ISO Linux (voir FI8/10) concernant les images ISO. Il ne vous reste plus qu’à faire les quelques manipulations ci-dessus afin d’avoir une installation GNU/Linux personnalisée ou handmade.



Glossaire

FAT (File Allocation Table) ::
en.wikipedia.org/wiki/File_Allocation_Table.
MBR (Master Boot Record) :
fr.wikipedia.org/wiki/Master_boot_record
SYSLINUX :
syslinux.zytor.com/wiki/index.php/SYSLINUX


Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.