Squashfs

De Wiki doc

Révision datée du 16 novembre 2017 à 20:37 par Ycharbi (discussion | contributions) (Page créée avec « Category:pxe Category:Systèmes de fichiers [https://fr.wikipedia.org/wiki/SquashFS Squashfs] est un système de fichier compressé en lecture seule et dé-dupliqu... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

Squashfs est un système de fichier compressé en lecture seule et dé-dupliqué utilisé dans les LiveCD. Ils sont adaptés à l’exécution d'un système d'exploitation temporaire puisque ce dernier, couplé à Overlayfs, exploitera la RAM de la machine hôte pour permettre une écriture éphémère non destructrice (on peut tout casser, il suffit de redémarrer pour retrouver un système fonctionnel). Je l'utilise personnellement pour effectuer mes tests et réaliser les documentations de ce site sans me faire chier à installer un Debian vierge à chaque fois (imaginez un peu la galère si je faisais ça ! Le clair de mon temps serai occupés aux installations). On peut le retrouver également dans des distributions dédiés au monde de l'embarqué comme DD-WRT.

À la fin de cette documentation, nous aurons un fichier image unique (notre squashfs) ainsi qu'un noyau Linux et son Initrd. Nous pourrons alors utiliser un serveur PXE, une clé USB ou directement Qemu pour démarrer sur cette image.

Installation

Notez que l'ensemble des outils que je vous proposes n'est pas indispensable pour créer un squashfs. J'y reviens après.

apt install xorriso live-build squashfs-tools debootstrap

Fonction des outils proposés:

  • xorriso: Permet de créer une image ISO adapté au boot USB (préparation avec la commande cp)
  • live-build: Est une suite de scripts permettant l'automatisation de ce que nous allons faire à la main (non traité dans ce document)
  • squashfs-tools: Outil de création de l'image squashfs
  • debootstrap: Permet de récupérer une distribution Linux qui servira de base à notre image (une Debian Stretch dans ce document)

Préparation

Système hôte

Les actions de cette section sont à effectuées sur votre machine physique (en opposition aux étapes qui serons à effectuées dans le chroot de notre image)

Création de l'arborescence du projet

mkdir -p ~/madistrib/{chroot,binary/{live,isolinux}} && cd ~/madistrib

Installation du système de base

debootstrap --arch amd64 stretch chroot http://ftp.fr.debian.org/debian

Entrer dans le système invité

chroot chroot

Système invité

Les actions de cette section sont à effectuer dans le système que l'on vient d'installer via la commande debootstrap

"Changement temporaire de l'apparence du prompt

export PS1="\e[01;31m(live):\W \$ \e[00m"

Vous comprendrez que c'est utile quand vous avez plusieurs consoles root ouvertes avec le même prompte partout et que vous faites une commande irréversible sur la mauvaise machine...

Montage des volumes spéciaux indispensable pour lancer des commandes tel que apt

mount none -t proc /proc
mount none -t sysfs /sys
mount none -t devpts /dev/pts

Définition du répertoire personnel du root

export HOME=/root

Franchement je ne sais pas si ce truck sert à quelque chose vu qu'on ne trouve aucune infos compréhensibles sur le net...

apt update
apt install dbus
dbus-uuidgen > /var/lib/dbus/machine-id

Installation de Linux ainsi que du module de fonctionnement en LiveCD

apt install linux-image-amd64 live-boot

Ajout d'un mot de passe à root

passwd

Si vous êtes fans de sudo (le masochisme n'est pas répressible donc faîtes-vous plaisir), ne faites pas cette étape et utilisez la configuration de sudo dont vous avez l'habitude. Création d'un utilisateur

adduser foo

Évidemment, ne le faîte pas si vous n'en avez pas besoin.

Configurer le fuseau horaire

dpkg-reconfigure tzdata

Configurer la console en Français UTF-8

apt install locales
dpkg-reconfigure locales

Cocher fr_FR.UTF-8 UTF-8 et sélectionnez fr_FR.UTF-8 sur l'écran suivant.

Configurer le clavier en azerty
apt install console-data

Sélectionner pc / azerty / French / Same as X11 (latin9) / Standard. Et comme si ça ne suffisait pas, ces étapes supplémentaires, toujours pour le clavier en français

apt install keyboard-configuration console-setup

Pour keyboard-configuration, sélectionnez Français - Français (variante obsolète).

Le contenu de /etc/default/keyboard doit être le suivant: