Livre de création de SliTaz
Index des documents du scratchbook de SliTaz, construction pas à pas d'un mini système GNU/Linux Live et installable.
Table des matières
LiveCD
- Introduction.
- Organisation du répertoire de travail
- Construction du système de base SliTaz - Configuration et installation de BusyBox, du noyau Linux, des bibliothèques associées, et création des fichiers de configuration minimal, création d'une image initramfs et d'une image ISO bootable.
- Bibliothèques, applications de base de SliTaz - Install de la calculette bc, module-init-tools. Install et config de Dropbear, fournissant un client, et un serveur SSH ultra légé. Et aussi: LightTPD, e2fsprogs, pcre, zlib.
- Bibliothèques et applications ncurses - Compilation et install des bibliothèques ncurses, et installation de programmes tel que: l'éditeur de texte Nano, le navigateur web Retawq, Dialog, et Htop.
- Install et config des locales pour le français
- Les scripts de démarrage et d'arrêt - Déscription des fichiers de configuration rc.
- Installation et config du système X - Serveur Xvesa d'XFree86, XTerm, configuration des polices, et installation du gestionnaire de fenêtres épuré Blackbox. (WM pour Window Manager). Installation du navigateur web Links.
- Les bibliothèques GTK+ et compagnie - Installation de cairo, glib, atk, pango, et GTK+.
- Compilation et installation d'applications GTK+.
- Xorg - Reconstruire tous les paquets d'Xorg.
Introduction
Le scratchbook vous permet de suivre la création de la première version public du LiveCD de SliTaz et de faire un voyage au coeur d'un système GNU/linux. Vous serez ensuite capable de personnaliser votre nouveau système ou de créer votre propre distro autonome fonctionnant en mémoire vive (RAM), et pleinement installable, sur disque dure ou clé USB. Une fois démarré, vous pouvez enlever le cd-rom et SliTaz fonctionne encore. SliTaz peut aussi être utilisé comme environnement dans lequel on se chroot, ou comme cd-rom multitâches. Le seul prérequis est une distribution hôte dans laquel nous allons piquer des bibliothèques, utiliser le compilateur, et les outils de développement. Ce système hôte peut-être: un environnement de développement chrooté, un distro minimal, SliTaz installé sur un disque dur ,ou une distro "généraliste" tel que Debian, Slackware, Fedora, Mandriva, Gentoo, Arch, etc. A noter que nous n'installons rien dans le système hôte lors de nos commandes.
SliTaz utilise BusyBox, comme base du système et le noyau Linux. BusyBox c'est le couteaux Suisse de l'embarqué, utilisant une faible empreinte mémoire, et fournissant beaucoup de fichiers d'exemples. Busybox est donc notre principale source d'informations, c'est un utilitaire issu du projet Debian. Nous utilisons et chérissons cette fabuleuse ditribution, nous ne pouvons donc, que vous conseiller d'utiliser Debian GNU/Linux.
SliTaz utilise le bootloader Syslinux et une archive initramfs du système,
compresée avec cpio
. Cette archive est ensuite
décompréssée en mémoire vive lors du boot par le noyau, dans un système
sans taille fixe, en gardant le contrôle sur init
. Lors des
copies ou compilation d'applications on utilisera strip
pour
nettoyer les réperoires. Les logiciels genisoimage et mkisofs peuvent être
utilisés à choix pour la création des images iso. Pour finir vous pouvez
tester l'image .iso
avec Qemu ou en gravant l'image sur un
cdrom réinscriptible.
Organisation du répertoire de travail
Pour créer SliTaz, nous utilisons un répertoire de travail et plusieurs sous-répertoires. Que vous ayez un environnement chrooté pour développer, ou un système hôte, nous proposons d'utiliser un répertoire nommé distro/, pour travailler. Le répertoire distro/ peut être un simple dossier, ou une partition, mais vous êtes évidemment libre, de mettre tous cela ailleur.
distro/
Contenu du répertoire de travail:
- rootfs/ --> Pour root file system - C'est la racine du système, destiné à fonctionner en RAM, il est utilisé pour générer l'initramfs du système.
- rootfs.gz --> l'image initramfs de notre système, qui est une
archive
cpio
compressée avecgzip
- rootcd/ --> Pour root cd. C'est la racine des fichiers du cdrom.
- src/ --> Les sources, Kernel, Syslinux, Busybox, Dropbear, etc (ça peut aussi être un lien symbolique).
Par la suite, l'initramfs et l'image ISO bootable (slitaz-cooking.iso) seront crées à la racine du répertoire de travail SliTaz/.
Option: rootfs.ext2 - Utilisation d'un disque dure virtuel
Option: rootfs.ext2 (root file system in ext2). C'est un disque dur virtuel, formaté en ext2 et monté en boucle sur rootfs/. Un périphérique de boucle, permet d'utiliser un fichier comme s'il s'agissait d'un périphérique normal (disque dur, disquette, etc), pour construire un système de fichiers dedans. Ce fichier peut être du nombre de méga-octets que vous désirez, nous vous proposons 20480 kb, ce qui correspond à un 20 Mb:
# dd if=/dev/zero of=rootfs.ext2 bs=1k count=20480
Création d'un système de fichier ext2 sur le fichier rootfs.ext2, l'option
-F
force le formatage du fichier. A noter que que l'utilisation
de l'option -m 0
, n'alloue aucune place à l'utilisateur root,
par défaut elle occupe environ 5%, et l'option -t
défini le type
du système de fichier à utiliser, tel que ext2, ou ext3:
# mkfs -t ext2 -F -m 0 rootfs.ext2
Nous pouvons maintenant monter rootfs.ext2 en boucle, grâce à l'option
-o loop
fournie par l'utilitaire mount
, et cela
dans le répertoire rootfs/. Vous pouvez vérifier si le montage c'est bien
effectué avec la commande df -h
:
# mkdir rootfs # mount -o loop rootfs.ext2 rootfs # df -h
A la fin de la session de travail, vous pouvez démonter le volume avec umount:
# umount rootfs
Vous serez maintenant, sûrement intéressé par la construction du système de base SliTaz.