Un LiveCD sur clé USB, avec plusieurs partitions

Rédigé par Yuu | Classé dans : Linux

27
10 | 10

Comment créer une clé USB avec deux partitions : l’une dédiée aux données, et une autre bootable contenant distribution Linux en LiveCD ? Ici, c’est plutôt simple : on se contente de faire une partition bootable et on y recopie le contenu d’un LiveCD.

Les outils :

Tout d’abord, il vous faut :
  • un PC sous Linux :]
  • extlinux, inclus dans le package sys-boot/syslinux
  • une clef USB un peu plus grosse que votre LiveCD ou LiveDVD
  • un peu de patience

La mise en oeuvre :

On crée une première partition en FAT32 pour nos données (afin que celles-ci soient accessibles partout sans problèmes) avec, par exemple, GParted ou (c)fdisck et on veille à laisser de l’espace libre pour une seconde partition dédiée au Linux en LiveCD.
Pourquoi dans une seconde partition ? En fait, Windows ne trouve que la première partition d’un périphérique connecté en USB (même si vous avez deux partitions en FAT32 ou NTFS), et ignore les autres. Du coup, si vous voullez continuer à utiliser votre clef USB pour autre chose qu’un Linux en « LiveUSB » : vous devez utiliser la seconde partition pour cette usage.
Du coup, on crée notre seconde partition (sdb2) en ext2, car ce système de fichier ne possède pas de journalisation. En effet, nous n’en avons pas besoin, car les changements apportés sur notre futur LiveUSB ne seront pas retrouvés au redémarrage.
$ mkfs.ext2 -b1024 -m0 -L"LiveUSB" -O sparse_super /dev/sdb2
mke2fs 1.41.9 (22-Aug-2009)
Étiquette de système de fichiers=LiveUSB
Type de système d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
179200 i-noeuds, 2859568 blocs
0 blocs (0.00%) réservés pour le super utilisateur
Premier bloc de données=1
Nombre maximum de blocs du système de fichiers=69992448
350 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
512 i-noeuds par groupe
Superblocs de secours stockés sur les blocs :
8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409, 663553,
1024001, 1990657, 2809857
Écriture des tables d'i-noeuds : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété
Le système de fichiers sera automatiquement vérifié tous les 29 montages ou
après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
pour écraser la valeur.

Ensuite, on passe à zero l’intervalle de vérification du système de fichier (-i0), et on arrête le comptage du nombre de montages (-c0) :
tune2fs -c0 -i0 /dev/sdb2
tune2fs 1.41.9 (22-Aug-2009)
Initialisation du nombre maximal de montages à -1
Initialisation de l'intervalle de vérification à 0 secondes

On crée ensuite un point de montage pour cette partition et on la monte :
mkdir /mnt/usb ; mount /dev/sdb2 /mnt/usb ; cd /mnt/usb

On monte l'ISO dans un répertoire et on copie le contenu du liveCD sur la clef USB :
mkdir /mnt/iso/
mount -o loop -t iso9660 ~/Desktop/livedvd-x86-amd64-32ul-11.0 /mnt/iso
cp -a /mnt/iso/* .

On déplace les fichiers de boot, et on supprime des fichiers inutiles :
mv isolinux extlinux
mv extlinux/isolinux.cfg extlinux/extlinux.conf
rm extlinux/{boot.cat,elilo.efi,isolinux.bin}

On installe extlinux sur le secteur de boot avec :
extlinux -i ./extlinux

On modifie le fichier de configuration de boot avec nano :
nano extlinux/extlinux.conf

Pour y ajouter l’option « root=LABEL=LiveUSB » sur la ligne qui commence par « append ». Par exemple, voici mon fichier de configuration :
$ cat extlinux/extlinux.conf
default gentoo
timeout 150
prompt 1
display boot.msg
F1 kernels.msg
F2 F2.msg
F3 F3.msg
F4 F4.msg
F5 F5.msg
F6 F6.msg
F7 F7.msg
menu title LiveUSB Gentoo 10.1 x64

label gentoo
kernel gentoo
append root=LABEL=LiveUSB init=/linuxrc  dokeymap looptype=squashfs loop=/image.squashfs  cdroot initrd=gentoo.igz vga=791 splash=silent,theme:livecd-2007.0 console=tty1 quiet

label gentoo-nofb
kernel gentoo
append root=LABEL=LiveUSB init=/linuxrc  dokeymap looptype=squashfs loop=/image.squashfs  cdroot initrd=gentoo.igz

label memtest86
kernel memtest86

Une fois fait, on peut démonter nos partitions :
umount /mnt/usb ; umount /mnt/iso ; rmdir /mnt/usb ; rmdir /mnt/iso

Enfin, on rend notre partition bootable :
cat /usr/share/syslinux/mbr.bin > /dev/sdb

Vous pouvez maintenant rebooter pour tester votre distribution Linux :]

Mots clés : bootable, extlinux, Linux, LiveCD, LiveDVD, LiveUSB, partition, USB

Ecrire un commentaire




Quelle est la première lettre du mot fzbmeh ? :