Table of Contents
LiveUSB - SliTaz sur un média USB
Methodes, type de média et notes
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 CD-ROM sur les machines capables de démarrer depuis un périphérique USB et 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 CD-ROM.
Disque dur externe, carte SD ou clé USB
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.
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.
Étapes à réaliser
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'exploitation et de proposer un SHell permettant par exemple de réinstaller GRUB dans le MBR (Master Boot Record) d'un disque dur.
LiveUSB en 2 commandes
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 :
# tazusb format /dev/sdb1 # tazusb gen-liveusb /dev/sdb1
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).
Préparer le média USB
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 :
# mkfs.ext3 /dev/sda1 # mount -t ext3 /dev/sda1 /media/flash
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é :
# mount -t iso9660 /dev/cdrom /media/cdrom
Ou, soit depuis une image ISO locale :
# mount -o loop slitaz-3.0.iso /media/cdrom
Copie de tous les fichiers contenus dans le répertoire boot/ du LiveCD :
# cp -a /media/cdrom/boot /media/flash
Installer et utiliser GRUB
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é :
# cp /usr/lib/grub/i386-pc/stage[1-2] /media/flash/boot/grub # grub grub> find /boot/grub/stage1
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 :
grub> root (hd2,0) grub> setup (hd2) grub> quit
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 :
# leafpad /media/flash/boot/grub/menu.lst
# /boot/grub/menu.lst: GRUB boot loader configuration. # # Change the colors. color yellow/brown light-green/black # For booting SliTaz from a cdrom or USB media (LiveRAM). # title SliTaz GNU/Linux (Cooking) (Kernel 2.6.22.9) kernel /boot/bzImage root=/dev/null vga=771 home=usb initrd /boot/rootfs.gz
Vous pouvez encore ajouter ces quelques lignes, pour avoir une entrée permettant de réinstaller GRUB dans un MBR (utile en cas de problème) :
# For installing GRUB into the hard disk # title Install GRUB into the hard disk root (hd0,0) setup (hd0)
Voilà, vous pouvez démonter le CD-ROM et le média ET 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 :
# umount /media/cdrom # umount /media/flash # reboot
GRUB sur cdrom
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 fournit une image nommée stage2_eltorito permettant de rendre un CD-ROM bootable. Pour créer une image ISO gravable il faut créer la racine du CD-ROM, 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 CD-ROM (rootcd et copier l'image eltorito de GRUB) :
$ mkdir -p rootcd/boot/grub $ cp /usr/lib/grub/i386-pc/stage2_eltorito \ rootcd/boot/grub
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 :
# /boot/grub/menu.lst: GRUB boot loader configuration. # title SliTaz GNU/Linux (Cooking) root (hd2,0) kernel /boot/bzImage root=/dev/null home=usb initrd /boot/rootfs.gz
Générer une ISO bootable
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 :
$ genisoimage -R -o grub.iso \ -b boot/grub/stage2_eltorito \ -no-emul-boot -V "Grub" -boot-load-size 4 \ -input-charset iso8859-1 -boot-info-table \ rootcd
Installer et utiliser EXTLINUX
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 :
$ wget http://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-3.61.tar.gz $ tar xzf syslinux-3.61.tar.gz $ cp syslinux-3.61/extlinux/extlinux ~/.local/bin
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 :
# mkdir -p /media/flash/boot/extlinux # extlinux --install /media/flash/boot/extlinux
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 :
# cat syslinux-3.61/mbr/mbr.bin > /dev/sda
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 :
# cat > /media/flash/boot/extlinux/extlinux.conf << "EOT" display display.txt default slitaz label slitaz kernel /boot/bzImage append initrd=/boot/rootfs.gz rw root=/dev/null home=usb EOT
Afficher un message au démarrage
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 :
# cat > /media/flash/boot/extlinux/display.txt << "EOT" /* _\|/_ (o o) +----oOO-{_}-OOo---------------------------------------------------+ ____ _ _ _____ / ___|| (_)_ _|_ _ ____ \___ \| | | | |/ _` |_ / ___) | | | | | (_| |/ / |____/|_|_| |_|\__,_/___| SliTaz GNU/Linux LiveUSB Simple Light Incredible Temporary Autonomus Zone */ EOT
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 :
# umount /media/flash # reboot
Installer SliTaz sur USB depuis Windows
Il est possible d'installer SliTaz sur un média USB depuis un système Windows. Cette procédure a été testée sur Windows XP et Vista. Avant de commencer, téléchargez la dernière version de SliTaz sur le site : Obtenir SliTaz. Il vous faut aussi récupérer l'utilitaire syslinux correspondant à la version de SliTaz que vous installez :
- syslinux-4.05.zip pour SliTaz 4.0
- syslinux-3.82.zip pour SliTaz 3.0
- syslinux-3.73.zip pour SliTaz 2.0
- syslinux-3.61.zip pour SliTaz 1.0
1. Extrayez l'image ISO de SliTaz sur la clé USB. Cette opération peut être réalisée avec des outils comme 7-Zip ou Winimage (shareware) par exemple. Après l'extraction, vous devriez obtenir l'arborescence suivante :
\boot \boot\grub \boot\isolinux
2. Sur la clé USB, renommez le répertoire \boot\isolinux en \boot\syslinux.
3. Dans le nouveau répertoire \boot\syslinux, renommez le fichier isolinux.cfg en syslinux.cfg et le fichier isolinux.msg en syslinux.msg. Ce n'est pas indispensable pour isolinux.msg, mais c'est plus cohérent.
4. Extrayez l'archive de syslinux téléchargée précédemment et copiez le fichier syslinux.exe de son répertoire win32 dans le répertoire \boot\syslinux de la clé.
5. Modifiez le fichier \boot\syslinux\syslinux.cfg : remplacez tous les appels à des fichiers isolinux.* par syslinux.*.
Pour SliTaz 4.0 :
... kernel /boot/isolinux/ifmem.c32 ...
en
... kernel /boot/syslinux/ifmem.c32 ...
Pour SliTaz 3.0 et versions antérieures :
display syslinux.msg label slitaz kernel /boot/bzImage append initrd=/boot/rootfs.gz rw root=/dev/null lang=fr kmap=fr vga=normal autologin include common.cfg
Note : Dans l'exemple ci-dessus, 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 à la ligne append évitant d'avoir à sélectionner la langue et le clavier à chaque boot.
Modifiez également la ligne
... F3 isolinux.msg ...
en
... F3 syslinux.msg ...
du fichier \boot\syslinux\common.cfg
6. Il ne vous reste plus que, à partir de l'Invite de commande de Windows, à exécuter syslinux.exe pour installer le bootloader sur la clé. Exemple, dans le cas où la clé est désignée par la lettre K, tapez :
k: cd \boot\syslinux syslinux -ma -d \boot\syslinux k:
7. Vous pouvez maintenant redémarrer sur votre clé USB après avoir pris soin de configurer correctement le BIOS de votre machine pour qu'elle démarre en priorité depuis le média USB et non le disque dur.
Version rapide
Désolé, cette possibilité n'est malheureusement plus disponible. Patience…