====== Générer un LiveCD à saveur ======
===== Pour commencer =====
Créer sa propre version du LiveCD de SliTaz avec Tazlito (//SliTaz Live Tool//) prend peu de temps et permet de choisir précisément les paquets logiciels que l'on veut retrouver dans le système. Le support des saveurs vous pemet de générer un LiveCD personnalisé en modifiant une liste de paquets ou en utilisant des saveurs créées et envoyées sur slitaz.org par des utilisateurs ou contributeurs. Tazlito est un outil en ligne de commande. Il ne faut pas que cela vous effraie, vous aurez votre propre image ISO en deux commandes et la graverez en une commande. Vous pouvez aussi utiliser l'interface graphique de Tazlito (//tazlitobox//) qui permet d'utiliser les principales fonctions facilement.
\\
=== Vue d'ensemble ===
Tazlito automatise le processus de construction d'un LiveCD, bien que la méthode soit assez simple :
- télécharger un modèle (saveur) pour travailler dessus ;
- personnaliser ses paquets
* //optionnel : inclure des fichiers supplémentaires, ajoutés après les paquets// ;
- compresser le pseudo-dossier-système produit ;
- créer une image ISO.
\\
=== Notes ===
* La génération du LiveCD demande un minimum de 256 Mo de RAM.
* La compression du système avec LZMA peut prendre un certain temps. GZip peut également être utilisé, bien que son taux de compression ne soit pas aussi efficace.
* Il est possible de créer une distribution depuis le mode LiveCD ou depuis un système installé. En mode LiveCD, il est conseillé d'utiliser un media USB ou un disque dur pour stocker les fichiers générés, conserver le travail et gagner de la place en RAM.
* Tazlito est aussi utilisé par les développeurs SliTaz pour générer le LiveCD officiel. Le seul prérequis est d'avoir Tazlito d'installé, c'est le cas par défaut sur SliTaz, mais vous pouvez générer le LiveCD depuis une autre distribution à condition d'avoir les paquets voulus sous la main ou de les télécharger. Voir les [[#Installer Tazlito sur une autre distribution|instructions]] en bas de la page pour plus de détails.
\\
===== Un LiveCD en 2 commandes =====
Une bonne façon de se familiariser avec Tazlito est de re-construire le LiveCD.
Téléchargez la saveur par défaut //core// (un fichier saveur qui contient toutes les informations nécessaires pour créer un LiveCD) et la construire avec les options par défaut. Cela ne prend que deux commandes et démontrera le processus :
\\
* Récupérer la saveur :
# tazlito get-flavor core
* En option : Modifier la liste des paquets ou ajouter des fichiers additionnels.
* Générer le LiveCD :
# tazlito gen-distro
\\
Une fois le travail fini, vous trouverez l'image ISO du LiveCD dans le répertoire ///home/slitaz/distro//.
===== Récupérer une saveur =====
Une saveur est un fichier //.flavor// contenant toutes les informations nécessaires à la création du LiveCD. Les saveurs peuvent être employées pour construire divers styles de LiveCD et contiennent la liste des paquets (//distro-packages.list//), une description et des fichiers additionnels propres à la saveur choisie. La liste des saveurs peut être téléchargée et mise à jour avec Tazlito :
# tazlito list-flavors
Ou :
# tazlito list-flavors --recharge
\\
La liste des saveurs va automatiquement s'afficher, donnant la taille du LiveCD et une brève description. Pour la suite, la commande //get-flavor// va télécharger le fichier de saveur //.flavor//, extraire automatiquement la liste des paquets et la description dans le répertoire courant et mettre les fichiers additionnels dans le répertoire ///home/slitaz/distro/addfiles//.
Pour télécharger et/ou extraire les fichiers d'une saveur particulière :
# tazlito get-flavor saveur-particulière
\\
La description d'une saveur peut être affichée avec la commande //show-flavor// de Tazlito. Une fois la saveur choisie téléchargée et/ou extraite, vous pouvez générer la distribution.
Pour stocker les saveurs nous vous proposons d'utiliser un répertoire spécifique tel que ///home/slitaz/flavors//, vous pouvez créer ce répertoire et vous y placer avec les commandes :
# mkdir -p /home/slitaz/flavors
# cd /home/slitaz/flavors
\\
===== Générer la distribution =====
En générant une distro, il y a quelques paquets essentiels de //base-system// qui doivent être inclus. L'information de dépendance présente dans chaque paquet sera prise en compte et ceux-ci seront automatiquement inclus, même s'ils ne sont pas spécifiés dans la liste des paquets.
Pour une première ISO nous vous conseillons de tester sans modifier la liste, ensuite vous pourrez supprimer ou ajouter des paquets à volonté. Mais attention, les paquets du système de base sont indispensables. La commande //gen-distro// génère une image ISO avec tous les paquets de la liste, il faut être root et être dans le même répertoire que la liste et le fichier de configuration. Pour générer un LiveCD :
Tazlito utilise le fichier //distro-packages.list// pour télécharger chaque paquet et l'installer dans un pseudo-système de fichiers. C'est l'arborescence de la distro et contient l'ensemble du système d'exploitation du LiveCD. Ce n'est pas comme //chroot//er dans un autre système à partir d'un LiveCD. Il est alors compressé et ajouté à l'image ISO du CD avec l'information d'amorçage.
Pour générer un LiveCD :
# tazlito gen-distro
Voilà, votre première image ISO du LiveCD est générée dans ///home/slitaz/distro//.
\\
=== Nettoyer, regénérer et aller plus loin ===
Une fois le LiveCD généré, vous aurez besoin d'un petit nettoyage si un autre LiveCD doit être produit. Enlever l'image d'ISO résultante, nettoyer l'arborescence de la distro produite (mais pas les dossiers supplémentaires !) peuvent être faits avec l'option //clean-distro// de tazlito :
# tazlito clean-distro
\\
Pour continuer et aller plus loin, vous pouvez simplement ajouter un ou deux paquets à la liste, puis regénérer une nouvelle image ISO :
# tazlito gen-distro
\\
Tazlito fournit encore d'autres possibilités, telles que la gravure de l'ISO ou la copie de fichiers additionnels dans le système ou directement sur le cdrom. Pour connaître toutes les commandes disponibles, vous pouvez vous référer au [[http://hg.slitaz.org/tazlito/raw-file/tip/doc/tazlito.fr.html|manuel de Tazlito]] installé par défaut sur tous les systèmes SliTaz et accessible depuis le menu.
\\
===== Fichiers additionnels =====
Les fichiers de saveurs contiennent généralement des fichiers additionnels copiés directement dans le système de fichier racine ou dans la racine du CDROM. Le chemin vers les fichiers à utiliser est spécifié dans le fichier de configuration //tazlito.conf//. Logiquement et par défaut, les fichiers sont situés dans ///home/slitaz/distro/addfiles//. Les fichiers additionnels de la saveur //core// fournissent par exemple un lien pour ouvrir la documentation du système et les fichiers présents à la racine du CD. Il suffit de modifier, ajouter ou supprimer des fichiers dans le pseudo système racine (//rootfs//) ou la racine du CD (//rootcd//) et de regénérer la distribution pour retrouver les fichiers dans l'ISO. Pour nettoyer et regénérer la distribution :
# tazlito clean-distro
# tazlito gen-distro
\\
===== Paquets utilisés =====
Pour créer votre distro il vous faut des paquets SliTaz. Tazlito et Tazpkg permettent de recréer les paquets depuis un système SliTaz en fonctionnement ou de télécharger les paquets directement en fonction de la saveur choisie. Par défaut, sur SliTaz, les paquets se mettent dans le répertoire ///home/slitaz/packages//, mais vous pouvez changer cela via un fichier de configuration de Tazlito (//tazlito.conf//).
Si vous voulez récupérer des paquets à la main, vous pouvez utiliser un logiciel FTP tel que gFTP (//tazpkg get-install gftp//) ou la ligne de commande et //wget// pour télécharger des paquets officiels. L'URL directe vers les versions des paquets : ftp://download.tuxfamily.org/slitaz/packages/
Vous pouvez aussi utiliser vos propres paquets en les mettant dans le répertoire des paquets. Si vous cherchez de la documentation au sujet de la création de paquets SliTaz, vous pouvez vous référer au livre de cuisine ou [[fr:cookbook:start|Cookbook]].
\\
===== Fichier de configuration =====
Par défaut Tazlito utilise le fichier de configuration système ///etc/tazlito/tazlito.conf// ou un fichier //tazlito.conf// situé dans le répertoire courant. C'est-à-dire que vous pouvez utiliser le fichier par défaut ou avoir un fichier de configuration spécifique à chaque distro que vous créez.
Ce fichier de configuration permet de spécifier un certain nombre de propriétés :
* le nom de l'image ISO (//ISO_IMAGE//) ;
* l'étiquette utilisée lors du montage (//VOLUME_NAME//);
* le nom du mainteneur (//PREPARED//) ;
* les chemins vers les répertoires de travail :
* là où l'arbre de distro est localisé (//DISTRO//)
* par defaut : ///home/slitaz/distro//
* les paquets qui peuvent être installés (//PACKAGES_REPOSITORY//)
* par defaut : ///home/slitaz/packages//
* les fichiers qui doivent être ajoutées au LiveCD (//ADDFILES//)
* par defaut : //$DISTRO/addfiles//
* les options pour faire fonctionner Tazlito dans QEMU (//QEMU_OPTS//)
* l'algorithme de compression utilisé sur le système de fichier root (//COMPRESSION//) :
* lzma //(defaut)//
* gzip
* bzip2
Pour créer et configurer directement un fichier de configuration, il suffit de lancer Tazlito avec la commande //configure// et cela depuis le répertoire de la distro (vous pouvez le créer ailleurs). En supposant que vous avez l'arbre de la distro dans ///home/slitaz/distro// et que vous vous y êtes placés avec //cd// :
$ tazlito configure
Une fois que vous avez répondu aux questions, vous pouvez soit recréer l'image ISO, reconstruire le système racine et l'ISO ou soit générer une nouvelle distro avec la liste des paquets.
Si vous générez beaucoup de LiveCD, inclure la commande //date// dans le nom de l'ISO peut être bénéfique. Pour ce faire, utilisez une ligne telle que :
ISO_NAME="MyLiveCD-`date +%Y%m%d-%H%M`"
\\
===== Créer une saveur =====
Tazlito permet de facilement créer une saveur particulière à partir des résultats de fabrication de la distribution (//gen-distro//). Le fichier de saveur produit contiendra tous les fichiers additionnels, la description et la liste de paquets et peut être réutilisé ultérieurement et mis à jour en fonction des versions des paquets. Pour générer une saveur en répondant à une ou deux questions :
# tazlito gen-flavor new-flavor
Une fois que votre saveur est fonctionnelle et bien testée, vous avez la possibilité de l'envoyer sur slitaz.org afin qu'elle soit mise à disposition de tous, listée via //list-flavor// et utilisable via //get-flavor//.
Pour envoyer une saveur vous avez plusieurs moyens : passer par la [[http://www.slitaz.org/fr/mailing-list.html|liste de discussion]], mettre le fichier en ligne et le signaler sur le [[http://forum.slitaz.org/|Forum]] ou directement l'envoyer par mail à un contributeur du projet.
Un contributeur avec les privilèges suffisants publiera alors votre saveur sur les serveurs de SliTaz.
\\
=== Installer Tazlito sur une autre distribution ===
Tazlito n'a aucune dépendance particulière pour générer le LiveCD, mais il dépend de Cdrkit pour graver l'image et de Tazpkg pour regénérer des paquets SliTaz depuis ceux qui sont installés. Pour récupérer Tazlito et l'installer en suivant les instructions du fichier README contenu dans les sources de [[http://download.tuxfamily.org/slitaz/sources/tazlito/|Tazlito]].