====== Manuel pour tazlito ======
===== Nom =====
[[fr:terms:T?Tazlito|Tazlito]] - SliTaz Live Tool.
===== Syntaxe =====
tazlito [command] [list|iso|flavor] [dir]
===== Description =====
Tazlito est un petit utilitaire permettant d'extraire le [[fr:terms:I?liveCD|LiveCD]], reconstruire l'[[fr:terms:I?ISO|image ISO]] ou regénérer le système racine du [[fr:terms:I?liveCD|LiveCD]] de SliTaz. Tazlito donne aussi la possibilité de générer une distribution depuis une liste de paquets préalablement téléchargés et stockés dans un répertoire. Pour fonctionner, l'application Tazlito utilise un fichier de configuration système /etc/tazlito/tazlito.conf ou un fichier tazlito.conf se trouvant dans le répertoire courant. Ce fichier de configuration peut facilement être généré automatiquement par Tazlito, il spécifie le nom de l'[[fr:terms:I?ISO|image ISO]], le nom du volume, le préparateur, le chemin vers le dépôt des paquets et celui vers la distribution. Tazlito permet aussi de configurer un répertoire contenant des fichiers additionnels, qui seront copiés dans le [[fr:terms:I?liveCD|LiveCD]] lors de la génération de la distribution.
Tazlito est distribué sous licence libre GNU GPL v3, installé par défaut sur SliTaz et installé/testé avec succès sur Debian GNU/Linux.
Vous trouverez aussi un complément d'informations sur la création de sa propre version du [[fr:terms:I?liveCD|LiveCD]], via le livre de cuisine (Cookbook) de SliTaz (http://www.slitaz.org/doc/cookbook/) et le Handbook.
===== Commandes =====
==== usage ====
La commande 'usage' affiche une liste des commandes disponibles avec une courte description :
# tazlito usage
==== stats ====
Stats affiche les variables de configuration, le chemin vers les différents fichiers et répertoires et les informations sur l'image ISO :
# tazlito stats
==== gen-config ====
La commande 'gen-config' vous permet de générer un fichier de configuration prêt à être édité. Par défaut le fichier est créé dans le répertoire courant et peut aussi l'être dans un autre répertoire si spécifié :
# tazlito gen-config
# tazlito gen-config /path/to/distro
==== configure ====
La commande configure permet de configurer le fichier de configuration système ou celui trouvé dans le répertoire courant :
# tazlito configure
==== gen-iso ====
La commande 'gen-iso' pour Generate ISO permet de générer une nouvelle [[fr:terms:I?ISO|image ISO]] du [[fr:terms:I?liveCD|LiveCD]] suite à des modifications et ajouter dans le système racine du CDROM. Pour fonctionner cette commande a besoin d'un répertoire contenant la structure du système Live ; cette structure peut facilement être construite avec la commande 'extract-distro', modifiée et reconstruite via :
# tazlito gen-iso
==== gen-initiso ====
La commande 'gen-initiso' va faire le même travail que 'gen-iso' mais en reconstruisant préalablement l'initramfs compressé du système. L'initramfs contient tout le système racine de la distribution et doit être reconstruite en cas de modifications sur les fichiers.
# tazlito gen-initiso
==== list-flavors ====
La commande 'list-flavors' télécharge si nécessaire et affiche la liste des différentes saveurs disponibles. On peut forcer le téléchargement avec '--recharge'.
# tazlito list-flavors
# tazlito list-flavors --recharge
==== get-flavor ====
La commande 'get-flavor' télécharge si nécessaire et prépare les fichiers nécessaires à 'gen-distro' pour refabriquer une saveur.
# tazlito get-flavor saveur-particuliere
==== show-flavor ====
La commande 'show-flavor' affiche les caractéristiques d'une saveur et ses dimensions après reconstruction. Les options '--brief' et '--noheader' réduisent l'affichage produit.
# tazlito show-flavor saveur-particuliere
# tazlito show-flavor saveur-particuliere --brief
# tazlito show-flavor saveur-particuliere --brief --noheader
==== gen-flavor ====
La commande 'gen-flavor' crée un fichier de description pour une nouvelle saveur à partir des résultats de fabrication de 'gen-distro'. Le fichier .flavor produit pourra être ensuite envoyé à slitaz.org.
# tazlito gen-flavor nouvelle-saveur
==== gen-liveflavor ====
La commande 'gen-liveflavor' crée une [[fr:terms:I?ISO|image ISO]] et un fichier de description d'une nouvelle saveur à partir de la distribution courante. Un fichier texte optionnel permet de décrire les modifications à faire par rapport à la distribution courante. Le format de chacune de ses lignes est [code][tabulation][caractères]. Les valeurs possibles de code sont +,-,@,! et ? pour ajouter un paquet, le retirer, décrire la saveur, ajouter un paquet non libre, et afficher un message à l'écran.
# tazlito gen-liveflavor nouvelle-saveur
# tazlito gen-liveflavor autre-saveur mes-modifications
# cat mes-modifications
@ Developper tools and some non-free packages
+ slitaz-toolchain
+ mercurial
! skype
! flash-plugin
==== upgrade-flavor ====
La commande 'upgrade-flavor' rafraîchit une saveur conçue pour une ancienne version de SliTaz en mettant à jour la liste des paquets avec les dernières versions des paquets disponibles.
# tazlito upgrade-flavor une-saveur
==== extract-flavor ====
La commande 'extract-flavor' convertit une saveur en une arborescence facilement modifiable dans /home/slitaz/flavors/'saveur' ; elle pourra être gérée avec Mercurial dans http://hg.slitaz.org/flavors.
# tazlito extract-flavor une-saveur
==== pack-flavor ====
La commande 'pack-flavor' convertit une arborescence de /home/slitaz/flavors/ en saveur (.flavor). Soit l'opération inverse de tazlito extract-flavor.
# tazlito pack-flavor une-saveur
==== extract-distro ====
La commande 'extract-iso' sert à extraire les fichiers d'une [[fr:terms:I?ISO|image ISO]] du [[fr:terms:I?liveCD|LiveCD]], pour en reconstruire la structure (Racine du cdrom et du système). Il est ensuite possible de faire les modifications ou ajouts souhaités, pour reconstruire l'image ISO via les commandes 'gen-iso' ou 'gen-initiso'. Exemple d'utilisation :
# tazlito extract-distro slitaz-cooking.iso
==== gen-distro ====
La commande Generate Distribution permet de générer la structure du système Live et une [[fr:terms:I?ISO|image ISO]] via une liste de paquets. Pour fonctionner, cette commande a besoin d'une liste de paquets, d'un répertoire contenant tous les paquets (.tazpkg) de la liste et d'un répertoire pour générer la distribution. La liste de paquets peut être extraite d'une saveur par la commande get-flavor. Si l'on utilise le [[fr:terms:I?liveCD|LiveCD]], les options --cdrom et --iso='image-iso' permettent de reconstruire les paquets qui placent des fichiers dans /boot sans être obligé de les télécharger et récupère les fichiers supplémentaires du [[fr:terms:I?liveCD|LiveCD]]. Le chemin vers les différents répertoires sont à configurer dans le fichier de configuration utilisé et les paquets peuvent être téléchargés depuis les miroirs de SliTaz ou générés par Tazwok. Pour générer une distro :
# tazlito gen-distro
# tazlito gen-distro --cdrom
# tazlito gen-distro --iso=slitaz.iso
# tazlito gen-distro package-list
==== clean-distro ====
Cette commande supprime tous les fichiers générés ou extraits de la structure du LiveCD :
# tazlito clean-distro
==== check-distro ====
Cette commande permet simplement de vérifier si les fichiers non installés par des paquets, sont bien présents dans la distro :
# tazlito check-distro
==== writeiso ====
Cette commande sauvegarde le système de fichiers dans une archive cpio (rootfs.gz) et génère une [[fr:terms:I?ISO|image ISO]] bootable. Writeiso peut être utilisé avec une installation sur disque dur ou en mode live. Il sauvegarde aussi votre répertoire /home. Cette commande vous permet de modifier et de reconstruire facilement votre propre [[fr:terms:I?liveCD|LiveCD]]. Il suffit de démarrer le [[fr:terms:I?liveCD|LiveCD]], de modifier les fichiers que vous voulez et de faire :
# tazlito writeiso [gzip|lzma|none]
# tazlito writeiso gzip
# tazlito writeiso gzip image-name
==== frugal-install ====
Cette commande installe les fichiers nécessaires du CDROM dans /boot/frugal et ajoute une entête GRUB si nécessaire. En mode frugal, Slitaz fonctionne entièrement en mémoire (RAM). Cela permet de tester une distribution sans graver d'ISO ou d'avoir un OS de dépannage prêt lorsque l'ordinateur démarre. Pour installer tous les fichiers nécessaires à partir d'une arborescence ou d'une [[fr:terms:I?ISO|image ISO]] :
# tazlito frugal-install slitaz.iso
# tazlito -fi slitaz.iso
==== check-list ====
Cette commande vérifie si distro-packages.list est à jour avec les dernières versions des paquets.
# tazlito check-list
==== repack ====
Cette commande recompresse le(s) rootfs avec la meilleure compression possible.
# tazlito repack slitaz.iso
==== merge ====
Cette commande réunit plusieurs saveurs imbriquées comme des poupées russes. Chaque rootfs est un sous-ensemble du précédent. Le premier rootfs est extrait de l'[[fr:terms:I?ISO|image ISO]] en 3ème paramètre. La saveur à lancer sera choisie au démarrage suivant la quantité de RAM disponible.
# tazlito merge 160M slitaz-core.iso 96M rootfs-justx.gz 32M rootfs-base.gz
==== build-loram ====
Cette commande crée une [[fr:terms:I?ISO|image ISO]] pour les machines avec peu de mémoire vive. Le système de fichiers racine peut être toujours chargé en mémoire ou peut éventuellement rester sur le CDROM selon la mémoire disponible.
# tazlito build-loram slitaz.iso loram.iso
# tazlito build-loram slitaz.iso loram-cdrom.iso cdrom
==== emu-iso ====
La commande emu-iso va utiliser l'émulateur [[fr:terms:Q?Qemu|Qemu]] pour démarrer et lancer SliTaz. [[fr:terms:Q?Qemu|Qemu]] permet de tester l'[[fr:terms:I?ISO|image ISO]] fraîchement construite sans la graver sur CDROM ou redémarrer en mode frugal.
# tazlito emu-iso
# tazlito emu-iso path/to/image.iso
==== burn-iso ====
Cette commande va deviner le périphérique de CDROM, sa vitesse de gravure et lancer l'outils Wodim pour graver une [[fr:terms:I?ISO|image ISO]]. L'[[fr:terms:I?ISO|image ISO]] par défaut est celle du fichier de configuration courant, mais il est possible de spécifier une autre image via la ligne de commande :
# tazlito burn-iso
# tazlito burn-iso slitaz-hacked.iso
===== Saveurs =====
Les fichiers .flavor contiennent en quelques Ko toutes les informations nécessaires pour refabriquer un [[fr:terms:I?liveCD|LiveCD]] customisé de SliTaz.
==== Refabriquer une saveur ====
On choisit la saveur à reconstruire parmi celles disponibles.
# tazlito list-flavors
List of flavors
================================================================================
Name ISO Rootfs Description
================================================================================
base 6.9M 13.1M Minimal set of packages to boot
core-3in1 31.5M 105.6M SliTaz core system with justX and base alternatives
core 31.5M 104.6M SliTaz core system
eeepc 31.2M 105.4M SliTaz eeepc system
justX 16.1M 51.2M SliTaz with a minimal X environnement
Nous allons reconstruire la saveur eeepc dont le système de fichiers utilise 105.4M de RAM et le CDROM fait 31.2M.
# tazlito clean-distro
# tazlito get-flavor eeepc
# tazlito gen-distro
==== Créer une saveur ====
Pour créer une saveur, il faut :
* Soit créer une image ISO avec tazlito gen-distro puis créer la saveur correspondante avec tazlito gen-flavor.
* Soit créer directement l'arborescence qui définit la saveur (voir la commande tazlito extract-flavor) puis créer la saveur avec tazlito pack-flavor.
* Soit utiliser le générateur de saveur en ligne :
==== Publier une saveur ====
Les fichiers .flavor ne font généralement que quelques Ko. Ils peuvent être envoyés via la liste de diffusion de SliTaz.
Le résultat de tazlito extract-flavor peut aussi être mis dans mercurial (http://repos.slitaz.org/flavors). Cette méthode est préférable car l'arborescence sera directement visible avec l'interface web de mercurial.
Cette arborescence comprend :
* Le fichier receipt décrit la saveur à l'aide des variables :
- FLAVOR : le nom de la saveur.
- SHORT_DESC : la description en une ligne.
- VERSION : format libre.
- MAINTAINER : adresse email.
- FRUGAL_RAM : optionnel (peut être estimé), RAM minimum nécessaire.
- ROOTFS_SIZE : optionnel (peut être estimé). Taille de rootfs.gz décompressé en RAM.
- INITRAMFS_SIZE : optionnel (peut être estimé). Taille de rootfs.gz sur le CD-ROM.
- ISO_SIZE : optionnel (peut être estimé). Taille du CD-ROM.
- ROOTFS_SELECTION : optionnel, voir Meta saveur plus bas.
* Le fichier packages.list contenant la liste des paquets sans préciser leur version (tazlito utilisera la dernière disponible) Ce fichier est absent si ROOTFS_SELECTION est précisé dans receipt.
* Le fichier optionnel mirrors contenant la liste des miroirs non officiels (undigest) à ajouter pour inclure des paquets personnels.
* Le répertoire optionnel rootfs contenant l'arborescence à ajouter dans le système de fichier racine rootfs.gz (des fichiers de configuration habituellement).
* Le répertoire optionnel rootcd contenant l'arborescence à ajouter dans la racine du CD-ROM.
==== Adapter une saveur ====
Il est souvent plus simple de modifier une saveur existante que d'en créer une ex-nihilo. Pour adapter la saveur eeepc par exemple :
# tazpkg get-install mercurial
# cd /home/slitaz
# hg clone http://hg.slitaz.org/flavors
# cd flavors
# cp -a eeepc myslitaz
Les fichiers dans myslitaz peuvent être adaptés, puis :
# tazlito pack-flavor myslitaz
Créera simplement la nouvelle saveur.
Astuce : on peut éviter l'installation de mercurial en extrayant une saveur.
L'exemple précédent devient :
# tazlito get-flavor eeepc
# tazlito extract-flavor eeepc.flavor
# cd /home/slitaz/flavors
# cp -a eeepc myslitaz
==== Meta saveur ====
Une meta saveur contient plusieurs saveurs imbriquées comme des poupées russes. La saveur à lancer sera choisie au démarrage suivant la quantité de RAM disponible. La variable ROOTFS_SELECTION définit les couples (quantité de RAM minimun, saveur correspondante), exemple :
ROOTFS_SELECTION="160M core 96M justX 32M base"
Une meta saveur n'a pas de liste de paquets (packages.list). Les noyaux SliTaz antérieurs à la version 2.6.30 ne supportaient pas les meta saveurs.
===== Mainteneur =====
Christophe Lincoln