Debian 8 Live en mode persistant
(src : https://www.vleeuwen.net/create-a-persistent-debian-live-usb-flash-drive/)
On peut installer Linux sur une clé USB (Linux Live), en mode persistant c'est-à-dire que les modifications apportées au Linux sur la clé sont sauvegardées. Par exemple si on installe un programme sur le Linux celui-ci est conservé au prochain redémarrage.
Par contre on ne peut pas faire de mise à jour de cette clé au risque de rendre la non-opérationnelle. Cette clé pourra notamment être utilisé pour installer Debian 8 sur un PC.
La procédure décrite ci-dessous a été réalisée depuis un Debian 8 (Jessie), avec l'image ISO Debian live.
Pré-requis :
Côté Logiciel :
sudo apt install mbr p7zip-full syslinux
L'image du Debian live :
Sur le site de Debian on peut trouver différente images ISO de Debian 8 Live , qui différent selon l'environnement qu'elle proposent.
Par exemple si on souhaite installer Debian 8 Live avec l'environnement Cinnamon on téléchargera :
wget http://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-8.6.0-amd64-cinnamon-desktop.iso
Une image identique est disponible avec Gnome, KDE, LXDE, Mate, XFCE.
Ce sont des environnements de bureau différents. Pour télécharger une des ces images ISO, il faudra remplacer “Cinnamon” par un de ces environnements dans la commande précédente, par exemple pour XFCE (l'environnement utilisé au bocal) :
wget http://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/debian-live-8.6.0-amd64-xfce-desktop.iso
Vous pouvez également vous rendre sur le site Debian ou sont stockés les images ISO et la télécharger via votre navigateur Web
Matériel nécessaire :
Vous devez disposer d'une clé USB d'au moins 4G.
Installation
L'installation doit se faire sur un poste sous GNU/Linux sur lequel vous disposez du compte root ou si vous êtes dans les sudoers (vous pouvez utiliser la commande sudo). Elle se déroule en plusieurs étapes .
- Insérer la clé USB et l'identifier.
- Créer une nouvelle table de partition Dos sur la clé.
- Créer une partition primaire d'au moins 1,4G avec le flag boot.
- Créer une seconde partition primaire.
- Formater la première partition en FAT32.
- Formater la seconde partition en ext4 avec le label “persistence” (ce label ou étiquette est obligatoire).
- Extraire le contenu de l'image ISO sur la première partition.
- Créer un fichier persistence.conf sur la deuxième partition.
- Essayer la clé.
Insérer la clé USB et l'identifier :
Selon le ou les disques dur présent sur votre PC la clé USB peut être vue comme /dev/sdb ou /dev/sdc ou encore /dev/sdd etc etc… Quelque chose comme /dev/sdX
Une fois la clé insérée on peut l'identifier avec la commande ci-dessous à exécuter, aussitôt la clé insérée :
dmesg
Résultat :
..... [23859.397363] sd 11:0:0:0: Attached scsi generic sg5 type 0 [23859.399940] sd 11:0:0:0: [sdf] 15378432 512-byte logical blocks: (7.87 GB/7.33 GiB) [23859.400677] sd 11:0:0:0: [sdf] Write Protect is off [23859.400682] sd 11:0:0:0: [sdf] Mode Sense: 23 00 00 00 [23859.401418] sd 11:0:0:0: [sdf] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA [23859.407753] sdf: sdf1 sdf2 [23859.418057] sd 11:0:0:0: [sdf] Attached SCSI removable disk
Ci-dessus la fin du résultat de la commande dmesg. On peut voir que la clé USB est une clé de 8G, elle est identifiée par le fichier /dev/sdf et elle contient deux partitions /dev/sdf1 et /dev/sdf2.
Dans la suite de la procédure la clé sera désignée par /dev/sdX avec X à remplacer selon votre configuration.
Selon la distribution GNU/Linux que vous utilisez les partitions présentes sur la clé peuvent être montées automatiquement, ceci peut être vérifié grâce à la commande suivante :
mount | grep sdX
Si des partitions sont montées automatiquement, démonter les ainsi.
sudo umount /dev/sdX1
sudo umount /dev/sdX2
etc, si votre clé dispose de plus de partitions.
Créer les partitions à l'aide fdisk:
sudo fdisk /dev/sdX
- Écrire une nouvelle table de partition DOS : o
- Créer une nouvelle partition : n
- Modifier le type de cette partition : t
- Ajouter le flag boot a cette partition :a
- Créer un deuxième partition : n
- Écrire le modifications
Formater la première partition en fat32 :
sudo mkfs -t vfat /dev/sdX1
Formater la deuxième partition en ext4 avec comme étiquette “persistence” :
sudo mkfs.ext4 -L persistence /dev/sdX2
Résultats :
mke2fs 1.42.12 (29-Aug-2014) En train de créer un système de fichiers avec 1538176 4k blocs et 385024 i-noeuds. UUID de système de fichiers=e8e19039-cfba-4d82-9a13-8d07e48a33af Superblocs de secours stockés sur les blocs : 32768, 98304, 163840, 229376, 294912, 819200, 884736 Allocation des tables de groupe : complété Écriture des tables d'i-noeuds : complété Création du journal (32768 blocs) : complété Écriture des superblocs et de l'information de comptabilité du système de fichiers : complété
Extraire l'ISO sur la première partition :
Pour cela il faut monter la première partition et extraire le contenu de l'ISO dans celle-ci.
sudo mount /dev/sdX1 /mnt
cd /mnt
7z x /chmemin/de/l/iso
Renommer les fichiers isolinux en syslinux :
mv isolinux syslinux
mv syslinux/isolinux.cfg syslinux/syslinux.cfg
mv syslinux/isolinux.bin syslinux/syslinux.bin
Modifier le fichier de boot live.cfg :
sed -i 's/\(append boot=.*\)$/\1 persistence/' syslinux/live.cfg
Synchroniser pour s'assurer que toute les données ont été écrites:
sync
Démonter la première partition :
sudo umount /mnt
Monter la seconde partition et créer le fichier persistence.conf sur celle ci :
sudo mount /dev/sdX2 /mnt
echo / union > /mnt/persistence.conf
sudo chown -R [user] /mnt/*
sync && sudo umount /mnt
Installation du MBR (Master Boot Record) sur la clé USB :
sudo install-mbr /dev/sdX
Installation du syslinux sur la première partiton:
sudo syslinux -i /dev/sdX1
La clé est prête a être utilisée, le clavier est en qwerty, le login est automatique avec :
username : user
passwd :live
Il faut que vous configuriez le BIOS de votre PC afin qu'il démarre sur la clé USB (ceci est une autre histoire).