====== 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 : [[http://www.slitaz.org/fr/get/#stable|Obtenir SliTaz]]. Il vous faut aussi récupérer l'utilitaire syslinux correspondant à la version de SliTaz que vous installez : * [[https://www.kernel.org/pub/linux/utils/boot/syslinux/4.xx/syslinux-4.05.zip|syslinux-4.05.zip]] pour SliTaz 4.0 * [[https://www.kernel.org/pub/linux/utils/boot/syslinux/3.xx/syslinux-3.82.zip|syslinux-3.82.zip]] pour SliTaz 3.0 * [[https://www.kernel.org/pub/linux/utils/boot/syslinux/3.xx/syslinux-3.73.zip|syslinux-3.73.zip]] pour SliTaz 2.0 * [[https://www.kernel.org/pub/linux/utils/boot/syslinux/3.xx/syslinux-3.61.zip|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 [[http://www.7-zip.org/|7-Zip]] ou Winimage (shareware) par exemple. Après l'extraction, vous devriez obtenir l'arborescence suivante : \boot \boot\grub \boot\isolinux Selon la version de SliTaz que vous installez, vous pouvez trouver d'autres répertoires et fichiers en racine. Mais ceux-ci ne sont pas nécessaires au LiveUSB. **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...