slitaz-doc-wiki-data view pages/fr/handbook/liveusb.txt @ rev 51

Updated pages folder.
author Christopher Rogers <slaxemulator@gmail.com>
date Sun May 08 13:38:19 2011 +0000 (2011-05-08)
parents 7011c4a257d7
children 53b8dcf5102e
line source
1 ====== LiveUSB - SliTaz sur un média USB ======
3 ===== Methodes, type de média et notes =====
5 Ce document décrit les étapes à réaliser pour installer les fichiers nécessaires afin de démarrer SliTaz à partir d'un périphérique de type USB (clé, carte SD, disque dur externe). Ce n'est pas une installation du système à proprement parler, le mode de fonctionnement de SliTaz reste le même qu'en mode LiveCD, c'est à dire que le système sera entièrement chargé en mémoire vive (RAM) lors du démarrage. Avoir SliTaz sur un média USB vous permet de vous passer du cdrom sur les machines capables de démarrer depuis un périphérique USB et l'utiliser le même média pour stocker vos données personnelles de manière persistante. Il faut aussi savoir que les PC ne sont pas tous capables de démarrer directement sur USB et que le démarrage du système est plus long qu'à partir d'un cdrom.
7 ==== Disque dur externe, carte SD ou clé USB ====
9 Un média de stockage USB peut être un disque dur externe de grande ou petite capacité, une carte de type SD/flash ou une clé USB. Vous pouvez par exemple utiliser l'ancienne carte d'un appareil de photos numérique ayant au minimum une capacité de 32 Mb. Cela dit, l'utilisation de GRUB avec les clés USB ne réussit pas toujours et dépend du type de clé. Si l'utilisation de GRUB échoue, il est conseillé d'utiliser le gestionnaire de démarrage EXTLINUX et d'installer un MBR fonctionnel sur la clé USB.
11 Pour commencer nous vous conseillons d'utiliser une partition formatée en ext3 et non au format natif FAT32. Le système de fichiers ext3 est un système de fichiers propre à GNU/Linux, robuste, fiable et illisible nativement depuis Windows, ce qui peut être un point positif ou négatif. À noter que vous pourrez aussi utiliser cette même partition pour stocker vos données de manière persistante via l'option //home=usb// proposée par SliTaz. Cela dit, vous pouvez aussi installer SliTaz sur une clé USB au format FAT32 comme suggéré sur le forum de SliTaz : SliTaz sur clé USB FAT32. Enfin, vous pouvez partitionner votre clef avec une première partition FAT/NTFS lisible sous Windows et une deuxième en ext3 pour Slitaz.
13 ==== Étapes à réaliser ====
15 En gros, il faut récupérer les fichiers contenus sur le LiveCD, les copier sur le média USB et installer un gestionnaire de démarrage. À noter qu'il existe plusieurs gestionnaires de démarrage, Syslinux, GRUB ou encore Lilo. SliTaz fournit GRUB sur la version standard du LiveCD et dans les paquets du miroir. Il a l'avantage de pouvoir aussi être utilisé pour démarrer d'autres systèmes d'exploitations et de proposer un SHell permettant par exemple de réinstaller GRUB dans le MBR (Master Boot Record) d'un disque dur.
17 ===== LiveUSB en 2 commandes =====
19 Pour créer facilement un système Live sur un média USB, vous pouvez utiliser TazUSB ou installer les fichiers manuellement. TazUSB est un utilitaire simple, efficace et bien testé. Vous pouvez créer un média en une ou deux commandes. Pour cela il vous faut un LiveCD de SliTaz et bien sûr un média USB dont vous devez connaître le nom (par //fdisk -l// ou //blkid//). Formatage optionnel et génération d'un média bootable reconnu comme /dev/sdb1:
21 <code>
22 # tazusb format /dev/sdb1
23 # tazusb gen-liveusb /dev/sdb1
24 </code>
26 Une fois le média généré, vous pouvez redémarrer sur votre média USB. Si vous désirez installer des applications, mettre à jour ou configurer le système et retrouver vos modifications lors de la prochaine utilisation, il vous faut recréer le système compressé en utilisant la commande //writefs// de TazUSB. À noter que le menu d'Openbox propose par défaut des entrées pour écrire le système sur le média en utilisant gzip, lzma ou aucune compression (prend plus de place mais démarre beaucoup plus rapidement).
28 ===== Préparer le média USB =====
30 Si vous avez déjà une partition au format ext3, vous n'avez pas besoin de reformater, sinon il faut créer un système de fichier avec l'utilitaire //mkfs.ext3// ou Gparted. Attention : le formatage d'une partition détruit toutes les données qui s'y trouvent. Généralement, la première ou unique partition d'un média USB est reconnu par le noyau Linux comme ///dev/sda//. Pour lister les périphériques et partitions disponibles vous pouvez utiliser la commande //fdisk -l// avant de créer le système de fichiers ext3 :
32 <code>
33 # mkfs.ext3 /dev/sda1
34 # mount -t ext3 /dev/sda1 /media/flash
35 </code>
37 Le formatage de la partition va créer un répertoire système nommé //lost+found// (perdu et trouvé). Ce répertoire est utilisé par le système de fichier en cas de problèmes. Maintenant que le média est formaté et monté, vous pouvez copier le contenu du cdrom sur le périphérique, soit depuis un cdrom gravé :
39 <code> # mount -t iso9660 /dev/cdrom /media/cdrom</code>
40 Ou, soit depuis une image ISO locale :
41 <code> # mount -o loop slitaz-3.0.iso /media/cdrom</code>
43 Copie de tous les fichiers contenu dans le répertoire //boot/// du LiveCD :
45 <code>
46 # cp -a /media/cdrom/boot /media/flash
47 </code>
49 ===== Installer et utiliser GRUB =====
51 Pour installer GRUB (GRand Unified Bootloader) il faut commencer par copier les fichiers //stage1// et //stage2// depuis ///usr/lib/grub/i386-pc// dans le répertoire //boot/grub// du média USB. Une fois les fichiers copiés et le média trouvé par GRUB, vous allez pouvoir installer le gestionnaire de démarrage dans le MBR du périphérique. Copie des fichiers, lancement du SHell GRUB et recherche de //stage1// fraîchement copié :
53 <code>
54 # cp /usr/lib/grub/i386-pc/stage[1-2] /media/flash/boot/grub
55 # grub
56 grub> find /boot/grub/stage1
57 </code>
59 Ce qui peut donner (hd0,0), (hd1,0) ou encore (hd2,0), GRUB voit le premier disque //hda// comme //hd0//, il faut donc modifier les valeurs en fonction de votre configuration. Il se peut aussi que votre média ne soit pas trouvé, dans ce cas vous pouvez utiliser le //bootloader// EXTLINUX. Pour installer GRUB vous pouvez utiliser les commandes //root// et //setup//. Pour quitter le SHell GRUB c'est la commande //quit// :
61 <code>
62 grub> root (hd2,0)
63 grub> setup (hd2)
64 grub> quit
65 </code>
67 La dernière chose qu'il reste à faire avant de redémarrer, est de créer un fichier de configuration de GRUB permettant de lancer SliTaz avec l'option //home=usb//, ce qui permet d'utiliser aussi le média comme partition ///home// pour stocker ses données, installer des applications en espace utilisateur et conserver vos configurations logicielles. Le fichier de configuration utilisé par GRUB peut être créé avec votre éditeur de texte préféré, exemple avec LeafPad :
69 <code> # leafpad /media/flash/boot/grub/menu.lst</code>
70 <file>
71 # /boot/grub/menu.lst: GRUB boot loader configuration.
72 #
74 # Change the colors.
75 color yellow/brown light-green/black
77 # For booting SliTaz from a cdrom or USB media (LiveRAM).
78 #
79 title SliTaz GNU/Linux (Cooking) (Kernel 2.6.22.9)
80 kernel /boot/bzImage root=/dev/null vga=771 home=usb
81 initrd /boot/rootfs.gz
82 </file>
84 Vous pouvez encore ajouter ces quelques lignes, pour avoir une entrée permettant de réinstaller GRUB dans un MBR (utile en cas problèmes) :
86 <file>
87 # For installing GRUB into the hard disk
88 #
89 title Install GRUB into the hard disk
90 root (hd0,0)
91 setup (hd0)
92 </file>
94 Voilà, vous pouvez démonter le cdrom et le média ET redémarrer sur votre clé USB en prenant soins de configurer correctement le BIOS de votre machine pour qu'elle démarre depuis le média USB et non depuis le disque dur :
96 <code>
97 # umount /media/cdrom
98 # umount /media/flash
99 # reboot
100 </code>
102 ===== GRUB sur cdrom =====
104 Il est possible de créer rapidement une image ISO contenant GRUB, servant à démarrer SliTaz depuis un média USB et cela sur des machines ne pouvant pas démarrer directement sur USB. Pour ce faire GRUB fourni une image nommée //stage2_eltorito// permettant de rendre un cdrom bootable. Pour créer une image ISO gravable il faut créer la racine du cdrom, copier le fichier //stage2_eltorito// et générer une ISO avec //genisoimage//. Les commandes peuvent être copiées/collées ligne par ligne. Pour créer la racine du cdrom (//rootcd// et copier l'image eltorito de GRUB) :
106 <code>
107 $ mkdir -p rootcd/boot/grub
108 $ cp /usr/lib/grub/i386-pc/stage2_eltorito \
109 rootcd/boot/grub
110 </code>
112 Le fichier de configuration de GRUB se nomme toujours //menu.lst//, c'est un fichier texte éditable avec votre éditeur de texte préféré. Vous pouvez mettre le nombre d'entrées que vous désirez, pour démarrer SliTaz il faut spécifier la bonne racine //root (hd2,0)// pour que GRUB trouve le noyau (//bzImage//) et le système compressé (//rootfs.gz//). Un petit fichier de configuration minimaliste :
114 <file>
115 # /boot/grub/menu.lst: GRUB boot loader configuration.
116 #
118 title SliTaz GNU/Linux (Cooking)
119 root (hd2,0)
120 kernel /boot/bzImage root=/dev/null home=usb
121 initrd /boot/rootfs.gz
122 </file>
124 ==== Générer une ISO bootable ====
126 Pour générer une image ISO vous pouvez utiliser //genisoimage// fourni en standard sur le LiveCD de SliTaz. Cette commande est relativement longue, les //backslash// en fin de ligne permettent de continuer la commande sur la ligne suivante. Dans l'exemple, l'image se nomme //grub.iso//, le volume Grub et la racine du cdrom //rootcd// :
128 <code>
129 $ genisoimage -R -o grub.iso \
130 -b boot/grub/stage2_eltorito \
131 -no-emul-boot -V "Grub" -boot-load-size 4 \
132 -input-charset iso8859-1 -boot-info-table \
133 rootcd
134 </code>
136 ===== Installer et utiliser EXTLINUX =====
138 Extlinux est un gestionnaire de démarrage provenant du paquet Syslinux, il permet de démarrer un système GNU/Linux depuis un système de fichiers ext2 ou ext3. C'est un gestionnaire de démarrage simple et fiable, il fonctionne bien pour les clés USB. Pour commencer, il faut récupérer la dernière version du paquet Syslinux depuis le site du noyau Linux et installer le binaire //extlinux// dans votre répertoire personnel //~/Bin// ou dans un répertoire système tel que ///usr/bin//. Pour télécharger, désarchiver et installer EXTLINUX en espace utilisateur :
140 <code>
141 $ wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.61.tar.gz
142 $ tar xzf syslinux-3.61.tar.gz
143 $ cp syslinux-3.61/extlinux/extlinux ~/.local/bin
144 </code>
146 Maintenant que le binaire //extlinux// est disponible, vous pouvez l'installer sur un média monté et cela via un SHell administrateur //root// obtenu via la commande //su//. Nous vous conseillons d'installer EXTLINUX dans un répertoire dédié, c'est à dire ///boot/extlinux//, du média USB :
148 <code>
149 # mkdir -p /media/flash/boot/extlinux
150 # extlinux --install /media/flash/boot/extlinux
151 </code>
153 Sur les clés USB il faut encore installer un MBR pour s'assurer de rendre le média bootable. Attention à spécifier le bon périphérique, dans la plupart des cas une clé USB est reconnue comme sda :
155 <code> # cat syslinux-3.61/mbr/mbr.bin > /dev/sda</code>
157 Le fichier de configuration se nomme //extlinux.conf// et doit se trouver dans le même répertoire que le binaire //extlinux//. Les chemins vers les fichiers peuvent être absolus ou relatifs au répertoire d'installation d'extlinux. Ce fichier à la même syntaxe que le fichier //isolinux.cfg// utilisé pour démarrer le LiveCD de SliTaz. Vous pouvez utiliser votre éditeur de texte préféré ou la commande //cat// (//EOT// signifie //End Of Text//, c'est là que le fichier se termine). À noter que vous pouvez copier/coller le contenu du fichier en une seule fois :
159 <code> # cat > /media/flash/boot/extlinux/extlinux.conf << "EOT"
161 display display.txt
162 default slitaz
163 label slitaz
164 kernel /boot/bzImage
165 append initrd=/boot/rootfs.gz rw root=/dev/null home=usb
167 EOT</code>
169 ==== Afficher un message au démarrage ====
171 La première ligne //display display.txt// permet d'afficher un fichier texte au démarrage de EXTLINUX, vous pouvez utiliser/modifier celui utilisé sur le LiveCD ou en créer un nouveau. Si vous ne voulez pas afficher un //display//, il suffit de supprimer la ligne. Pour créer un nouveau fichier //display.txt// avec //cat //:
173 <code> # cat > /media/flash/boot/extlinux/display.txt << "EOT"
175 /* _\|/_
176 (o o)
177 +----oOO-{_}-OOo---------------------------------------------------+
178 ____ _ _ _____
179 / ___|| (_)_ _|_ _ ____
180 \___ \| | | | |/ _` |_ /
181 ___) | | | | | (_| |/ /
182 |____/|_|_| |_|\__,_/___|
184 SliTaz GNU/Linux LiveUSB
186 Simple Light Incredible Temporary Autonomus Zone
188 */
190 EOT</code>
192 il ne reste plus qu'a redémarrer sur votre clé USB en prenant soin de configurer correctement le BIOS de votre machine pour qu'elle démarre depuis le média USB et non depuis le disque dur :
194 <code>
195 # umount /media/flash
196 # reboot
197 </code>
199 ===== Installer SliTaz sur USB depuis Windows =====
201 Il est possible d'installer SliTaz sur un media USB depuis un système Windows, cette procédure a été testée sur Windows XP et Vista. Avant de commercer, téléchargez la dernière version de SliTaz sur le site : [[http://www.slitaz.org/get/|Obtenir SliTaz]]. Il vous faut aussi récupérer l'utilitaire syslinux : [[http://www.eu.kernel.org/pub/linux/boot/syslinux/3.xx/syslinux-3.82.zip|syslinux-3.82.zip]].
203 **1.** Extraire l'image sur la clé USB. L'image ISO peut être extraite avec des outils comme [[http://www.7-zip.org/|7-Zip]] ou Winimage (shareware) par exemple. Normallement vous devriez obtenir l'arborescence suivante :
204 <code>
205 \boot
206 \boot\isolinux
207 \boot\grub
208 \boot\syslinux
209 </code>
210 **2.** Sur la clé USB, copier les fichiers du gestionnaire de démarrage dans le répertoire //\boot\syslinux// :
211 <code>
212 \boot\isolinux\*.txt
213 \boot\isolinux\*.msg
214 \boot\isolinux\*.cfg
215 \boot\isolinux\*.lss
216 </code>
217 **3.** Toujours dans le répertoire //\boot\syslinux//, renommer //isolinux.cfg// en //syslinux.cfg// et //isolinux.msg// en //syslinux.msg//. Ce n'est pas indispensable pour isolinux.msg, mais c'est plus cohérent.
219 **4.** Extraire le fichier //syslinux.exe// de l'archive téléchargée sur kernel.org et le copier dans //\boot\syslinux// sur la clé.
221 **5.** Modifiez le fichier //syslinux.cfg// pour qu'il corresponde à vos besoin. Exemple:
222 <file>
223 display syslinux.msg
224 default slitaz
225 label slitaz
226 kernel /boot/bzImage
227 append initrd=/boot/rootfs.gz rw root=/dev/null lang=fr kmap=fr vga=normal
228 implicit 0
229 prompt 1
230 timeout 80
231 F1 help.txt
232 F2 options.txt
233 F3 isolinux.msg
234 F4 display.txt
235 </file>
236 **Note : ** Par rapport au fichier d'origine la ligne //display isolinux.msg// a été remplacée par //display syslinux.cfg//. Et les paramètres //lang=fr kmap=fr// ont été rajoutés sur la ligne //append//.
238 **6.** Il ne reste plus qu'à exécuter //syslinux.exe// pour installer le //bootloader//. Exemple dans le cas où la clé est désignée par la lettre K :
239 <code>
240 K:
241 cd \boot\syslinux
242 syslinux -ma -d \boot\syslinux K:
243 </code>
245 ==== Version rapide ====
246 - Télécharchez l'achive [[http://files.openomy.com/public/Erjo/syslinux.zip|syslinux.zip]].
247 - Extrayez le répertoire syslinux et copiez le dans le répertoire boot de la clé USB.
248 - Exécutez le script //\boot\syslinux\bootusb.bat//.