Étape 8: construction de l'image système
- Mis à jour le 10 octobre 2017
Un live CD/USB ne fonctionne pas tout à fait comme un système installé sur disque dur. Le système de fichiers est bien présent, mais sous la forme d'un seul fichier compressé en lecture seule, portant l'extension .squashfs. Pour construire un live CD/USB il nous faut donc, avant d'en réaliser l'image .iso, construire cette image compressée du système de fichiers. C'est ce que nous allons apprendre à faire lors de cette étape.
1- Création des répertoires de travail
Dans notre dossier utilisateur, nous créons deux dossiers de travail qui nous servirons pour créer les deux images, celle du système (squashfs), et celle du live CD/USB (iso).
Dans un terminal, nous saisissons
mkdir -p ~/CD/casper ~/construction
L'option -p permet de créer des répertoires imbriqués, ce qui est nécessaire ici puisque nous créons un répertoire /casper dans le dossier /CD qui n'existe pas.
2- Copie des fichiers du système
Nous installons d'abord les paquets casper et lupin-casper nécessaires pour que le live CD/USB puisse correctement lire le système de fichiers :
apt-get install casper lupin-casper
Nous pouvons maintenant copier les fichiers de notre système dans le répertoire de construction, en excluant les répertoires dont nous n'aurons pas besoin :
rsync -av --one-file-system --exclude=/dev/* --exclude=/tmp/* --exclude=/home/* --exclude=/var/tmp/* --exclude=/boot/* --exclude=/root/* --exclude=/var/spool/* --exclude=/media/* --exclude=/etc/fstab --exclude=/etc/mtab --exclude=/etc/hosts / ~/construction
L'option -a de rsync permet de conserver toutes les propriétés des fichiers, l'option -v d'afficher les opérations dans le terminal (ce qui peut être utile en cas de problème).
Nous copions également les fichiers de personnalisation de l'utilisateur courant :
rsync -a ~/.config ~/construction/home/ubuntu
rsync -a ~/.bashrc ~/construction/home/ubuntu
rsync -a ~/Desktop ~/construction/home/ubuntu
Nous aurons à résoudre un problème. Si nous laissons les choses en l'état nous aurons, au démarrage, une erreur avec le message suivant : "unable to launch /usr/bin/startlubuntu". Cela est dû au fait que le live CD/USB modifie à la volée le fichier /etc/lxdm/lxdm.conf pour remplacer startlxde par startlubuntu. Il nous faut donc contourner le problème par la création d'un lien symbolique startlubuntu renvoyant vers startlxde :
ln ~/construction/usr/bin/startlxde ~/construction/usr/bin/startlubuntu
3- Construction de l'image compressée du système
Nous commençons pas installer les outils dont nous aurons besoin pour notre opération :
apt-get install squashfs-tools
Nous construisons maintenant l'image système par
mksquashfs ~/construction ~/CD/casper/filesystem.squashfs
Cette opération étant assez longue, c'est l'occasion de s'offrir une petite pause dans notre travail !
En fin d'opération, nous pouvons nous rendre dans le dossier CD/casper. Un clic gauche sur le fichier filesystem.squashfs, puis "Propriétés", nous permet de voir que nous avons obtenu un fichier d'environ 530 Mo, ce qui est très satisfaisant compte-tenu du nombre d'applications ajoutées à notre système.
Nous n'avons plus qu'à construire notre image iso, ce que nous apprendrons à faire lors de notre prochaine étape.