Ce système dérivé de Ubuntu MATE destiné à être installé sur un support USB a désormais un nouvel opus basé sur Bionic Beaver, à savoir le système GNU/Linux Ubuntu 18.04 LTS.
Libre OS USB requiert un processeur x86-64, il est capable de démarrer en mode UEFI ou CSM et permet de disposer d’un bureau itinérant, les données personnelles pouvant être stockées de manière chiffrée sur le support USB. Il est aussi possible d’ajouter les applications de son choix en plus des outils et jeux classiques préinstallés.
Libre OS USB est un outil créé par Libre Expert, il peut être acheté pré‐installé sur une clef USB ou un disque SSD, ou encore téléchargé. Les plus courageux pourront le construire eux‐mêmes à l’aide de la recette donnée en deuxième partie.
Sommaire
Libre Expert, entreprise du Numérique libre située à Clermont‐Ferrand, créatrice de Libre OS USB, propose le système sur différents supports, y compris la possibilité de télécharger directement l’image disque en raw. Un bref manuel est fourni aux acheteurs de Libre OS USB et ils peuvent avoir du support en s’adressant directement à l’entreprise pour toute question. Libre Expert espère séduire aussi bien les amateurs de systèmes GNU/Linux que des entreprises qui pourraient y trouver une fonction dans leur usage de l’informatique. Déjà par le passé des versions personnalisées de Libre OS USB ont été demandées par des clients.
Libre Expert propose aussi des services d’assistance à l’usage de GNU/Linux pour les professionnels et les particuliers, ainsi que de l’intégration et du développement de modules pour le PGI libre Dolibarr.
La recette de Libre OS USB
A) Créer l’image ISO de départ
- créer une installation d’Ubuntu ou un de ses dérivés (Ubuntu MATE 64 bits, dans mon cas de figure) sur le disque dur d’une machine réelle ou virtuelle (comme VirtualBox le permet) ;
- installer les logiciels complémentaires que vous souhaitez voir figurer dans la future distribution (attention aux logiciels propriétaires : Skype, Teamviewer, Google Chrome) ;
- installer si nécessaire des PPA pour que la mise à jour des logiciels hors distribution se fasse facilement (prudence toutefois, un PPA qui ne répond plus peut bloquer les mises à jour) ;
- pour créer son propre dérivé d’Ubuntu, il existe le projet « LinuxRespin » : installez puis configurez ce logiciel dans
/etc
et utilisez la commanderespin backup
en tant que super‐utilisateur (à l’aide de sudo) pour qu’il génère un fichier ISO sortant — attention un fichier ISO ne peut dépasser 4 Gio pour être opérationnel ; on obtient une image ISO amorçable avec SysLinux (que l’on contournera par la suite).
B) Le système d’amorçage et la persistance
Maintenant nous allons construire un amorçage plus universel (UEFI et CSM) :
- installez sous Windows un utilitaire de Easy2Boot se nommant « MakePartImage », pour pouvoir convertir l’image ISO en fichier transformable pour l’UEFI ; suivez le mode d’emploi et convertissez l’image par glisser‐déposer sur l’icône « FAT32 » ; on obtient un fichier ayant l’extension
.imgPTN
; - téléchargez Easy2Boot sur votre système (je vous conseille d’être sous GNU/linux) et installez ce système d’amorçage sur une clef USB destinée à recevoir le système (au minimum de 16 Gio) ; pour cela il y a un script Bash fourni qui fait cela très bien :
/Easy2Boot/_ISO/docs/linux_utils/fmt.sh
; on peut aussi défragmenter la partition en FAT32 de la clé USB avec un outil fourni (voir la doc) ;
- puis, copiez le fichier
.imgPTN
dans le répertoire_ISO/Linux
de la clef ; - démarrez depuis la clef sur un ordinateur prenant en charge l’amorçage CSM/Legacy, choisir l’image que l’on vient de créer dans le menu Linux, puis demander la transformation de la clef pour que celle‐ci devienne amorçable en UEFI/CSM (l’opération prend quelques secondes) — attention, l’installation de l’image
.imgPTN
modifie la disposition des partitions ;
- la clef doit comporter deux partitions, la première en FAT32 doit faire environ 8 Gio, nous l’appelons « LIBREOSUSB », avec le drapeau « boot », la seconde en ext4 peut‐être agrandie en fonction des capacités de la clef et nous l’appelons « HOME », elle servira pour le répertoire utilisateur ; je conseille de ne pas occuper tout l’espace de la clé, car cela sert à éviter que les capacités différentes en fonction des modèles de clefs USB ne nous jouent des tours lors des copies avec les utilitaires
dd
sous GNU/Linux ou Rufus sous Windows ;
- maintenant, il y a un répertoire
/EFI
à la racine de la clef, mais ce n’est pas encore suffisant, il faut aller récupérer le répertoire/EFI
présent sur l’image ISO d’Ubuntu comportant le répertoire/BOOT
et le copier avec les fichiers nécessaires qui sontBOOTx64.EFI
etgrubx64.efi
, il faut également copier le dossier/boot
qui contiendra les éléments nécessaires à GRUB ;
-
la clef devient amorçable en mode UEFI grâce aux actions précédentes, nous allons ajouter la « persistance » pour notre système ; pour cela :
- nous allons placer un fichier
casper-rw
à la racine de la clef (fichier de maximum 4 Gio) avec la commande suivante :
dd if=/dev/zero of=casper-rw bs=1M count=4000
- puis formater le fichier comme une partition :
mkfs.ext3 -F casper-rw -L casper-rw
- ensuite, il faut ajouter dans les fichiers de démarrage d’Easy2Boot les éléments qui prennent cela en compte ; à la racine de la clef se trouve le fichier
menu.lst
, il convient de l’élaguer et de lui rajouter comme lignes :
title Libre OS USB\n Start Libre OS USB kernel /casper/vmlinuz boot=casper persistent noeject noprompt live-media-path=/casper ignore_uuid quiet splash -- initrd /casper/initrd.gz
- dans le répertoire
/boot/grub/grub.cfg
de la clef, il faut introduire les lignes :
set default="0" set timeout=10 menuentry "Libre OS USB" { linux /casper/vmlinuz boot=casper persistent quiet splash -- initrd /casper/initrd.gz } menuentry "Libre OS USB in safe mode" { linux /casper/vmlinuz boot=casper persistent xforcevesa quiet splash -- initrd /casper/initrd.gz }
- ensuite, il est nécessaire de rendre les menus plus lisibles, d’enlever le superflu, de modifier l’image de fond pour le menu CSM si on le souhaite.
- nous allons placer un fichier
C) Configuration, personnalisation du système
Maintenant, si la clef démarre avec la persistance dans les deux modes UEFI et CSM, la première étape est jouée. Nous allons maintenant configurer le système lui‐même :
Modification de l’initrd
Nous allons tout d’abord modifier le fichier initrd.gz
ce dernier n’est au autre qu’une archive gzip un peu spéciale placée sur la clé dans /casper
:
- pour décompresser ce fichier :
bash mkdir tempdir cd tempdir
puis :bash gunzip -dc ../initrd.gz | cpio -imvd –no-absolute-filenames
Ou si cette méthode ne fonctionne pas correctement, il faut installer dracut puis utiliser un de ses scripts, comme suit :bash /usr/lib/dracut/skipcpio ../initrd.gz |zcat| cpio -id --no-absolute-filenames
- pour recompresser notre fichier
initrd.gz
, il faudra utiliser :bash find . | cpio -o -H newc | gzip -9 > ../initrd.gz
Voir cette adresse : https://help.ubuntu.com/community/LiveCDCustomization
- pour recompresser notre fichier
- pour que le répertoire utilisateur
/home
soit monté avec la partition dédiée « HOME » de la clé que nous avons créée au préalable en ext4, au démarrage de la clé, il faut modifierusr/share/initramfs-tools/scripts/casper-bottom/12fstab
se trouvant dans l’arborescence duinitrd.gz
que nous personnalisons, il faut utiliser l’UUID de la partition « HOME » et recopier les fichiers qui se trouvent dans l’ancien répertoire utilisateur (pensez aux répertoires cachés) ;
- pour pouvoir mettre à jour et installer des logiciels il faut que le
/etc/apt/sources.list
de la clé soit bien configuré ; pour cela, il faut veiller à ne pas laisser de PPA douteux et ne pas inclure la source « CD-ROM » en désactivant le fichier/scripts/casper-bottom/41apt_cdrom
situé lui aussi dans leinitrd.gz
; - ensuite, si besoin (LinuxRespin en mode backup permet déjà de créer un utilisateur spécifique), nous allons créer un nouvel utilisateur se nommant libreosusb et nous allons en faire l’utilisateur par défaut ; il faut lui attribuer les groupes qui étaient attribués à l’utilisateur ubuntu auparavant (l’utilisateur des CD autonomes).
Option :
Il sera nécessaire pour cela de modifier le dichier initrd.gz
. Tous les scripts se trouvent dans le répertoire /usr/share/initramfs-tools/scripts/casper-bottom
. Dans un de ses scripts vous pourrez désactiver la connexion automatique si besoin.
Méthode :
Travailler directement sur le système de fichiers en lecture seule :
-
faites une copie du fichier
filesystem.squashfs
se trouvant dans le/casper
de la clé, puis nous allons pouvoir le personnaliser :unsquashfs filesystem.squashfs mv filesystem.squashfs /path/to/backup/
-
allez dans
squashfs-root
, ajouter, modifier à votre convenance, et recréez lefilesystem.squashfs
comme ceci :cd /path/to/workdir sudo mksquashfs squashfs-root filesystem.squashfs -b 256k -comp lzo -e boot
L’utilisateur libreosusb devra être présent dans
/etc/group
,/etc/passwd
et/etc/shadow
de ce système de fichiers en lecture seule ; vous pourrez recopier le nouveau
filesystem.squashfs
à la place de l’ancien sur votre clé USB.
Pour personnaliser l’image de démarrage de Libre OS USB, nous pouvons modifier les logos du thème par défaut de Plymouth, toujours dans le initrd.gz
. Attention, il faut que ce fichier soit présent sur la partition « LIBREOSUSB » mais aussi dans le filesystem.squashfs
, c’est‐à‐dire notre environnement une fois amorcé. Dans ces fichiers en lecture seule, les thèmes (graphique et texte) seront copiés dans /usr/share/plymouth/themes/
. Attention aux liens symboliques et aux fichiers de configuration des thèmes. Thème utilisé : Spinning Dandelions Linux Mint 18 (Ubuntu 16.04) Bootsplash
Si l’on veut chiffrer le répertoire /home/utilisateur
et le déchiffrer pendant la session de l’utilisateur après la saisie du mot de passe, nous utiliserons eCryptfs et ses ecryptfs-utils en utilisant un script par ce biais : ecryptfs-migrate-home -u libreosusb
, voir la documentation de cette page : https://wiki.archlinux.org/index.php/ECryptfs
Si l’on ne veut chiffrer que seulement quelques répertoires utilisateurs, nous utiliserons EncFS et son outil « GNOME EncFS Manager » qui démarrera avec la session utilisateur (voir https://doc.ubuntu-fr.org/encfs).
Dans le fichier initrd.gz
il faut mettre en accord le fichier /etc/hostname
et /etc/hosts
, la commande sudo
affiche un message d’avertissement dans le cas contraire.
Il est nécessaire de bloquer la version du noyau Linux pour éviter sa mise à jour qui provoquerait un plantage de la clef. Pour cela, éditez le nouveau fichier /etc/apt/preferences.d/kernel
(dans le filesystem.squashfs
) en y ajoutant le texte suivant :
Package: linux-generic linux-headers-generic linux-image-generic
Pin: version <insert version here>
Pin-Priority: 1001
http://askubuntu.com/questions/178324/how-to-skip-kernel-update
D) Finalisation et conseils
Il ne reste plus qu’à faire des arrangements d’ordre esthétique et ergonomique, comme ajouter le choix du clavier la barre de tray, s’assurer que la configuration du réseau est disponible, ainsi que celle du son. Aussi, il est utile de désinstaller ubiquity pour ne pas se retrouver avec l’icône d’installation, ainsi que GRUB2, qui n’est pas nécessaire, mais dont la mise à jour pourrait être problématique.
Enfin, il faut supprimer les traces laissées par le passage en mode création, journaux, historiques, etc. Les commandes history -w
suivie de history -c
effacent les traces du terminal, ou encore en vidant le fichier ~/.bash_history
.
Il est bon aussi, si besoin, de désactiver des groupes à l’origine pour l’utilisateur ubuntu des médias autonomes et lui supprimer son répertoire personnel (home).
Pour utiliser Virtualbox avec l’image physique de la clé, il faut créer au préalable une configuration avec un disque virtuel relié au fichier image en appliquant cette commande :
VBoxManage internalcommands createrawvmdk -filename LibreOSUSB.vmdk -rawdisk 'Libre_OS_USB_VX (virtualbox).img'
Pour localiser la disposition du clavier dans LightDM, si besoin, il faut créer le fichier /etc/X11/xorg.conf.d/20-keyboard.conf
avec ce contenu :
Section "InputClass"
Identifier "keyboard"
MatchIsKeyboard "yes"
Option "XkbLayout" "fr"
Option "XkbVariant" "nodeadkeys"
EndSection
Et voilà, vous avez désormais un bel outil prêt à l’emploi. Les partitions de la clé peuvent être agrandies ou rétrécies à l’aide de GParted sous GNU/Linux, si vous optez pour une clé de grande capacité, le minimum étant de 16 Gio. Des clés déjà préparées et l’image raw de Libre OS USB sont disponibles depuis la boutique de Libre Expert.
Aller plus loin
- Libre Expert (527 clics)
- L’univers Libre OS USB dans la boutique en ligne de Libre Expert (175 clics)
- Descriptif général de Libre OS USB (240 clics)
- Descriptif technique de la conception de Libre OS USB (la recette en PDF !) (167 clics)
- Vidéo de démonstration du système (273 clics)
# URL avec des lettres et des chiffres
Posté par idéefixe . Évalué à 4.
libre-os-usb-v6-0-est-paru-999f10ca-ed46-4c84-9e7a-a027b2971ce2
[^] # Re: URL avec des lettres et des chiffres
Posté par Benoît Sibaud (site web personnel) . Évalué à 3.
Corrigé, merci.
# Linux Respin
Posté par think-free . Évalué à 0.
Le dépôt github est fermé : https://github.com/ch1x0r/LinuxRespin
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.