URL: https://linuxfr.org/news/libre-os-usb-v6-0-est-paru Title: Libre OS USB v6.0 est paru Authors: patlefox Davy Defaud, ZeroHeure et BAud Date: 2018年05月28日T02:50:55+02:00 License: CC By-SA Tags: linux_mint, ubuntu et dolibarr Score: 18 Ce système dérivé de [Ubuntu MATE](https://ubuntu-mate.org/) 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](https://www.libre-expert.com), 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. ---- [Libre Expert](https://www.libre-expert.com) [L’univers Libre OS USB dans la boutique en ligne de Libre Expert](https://www.libre-expert.com/boutique/disques-durs-externes-nas-clefs-usb) [Descriptif général de Libre OS USB](https://www.libre-expert.com/services/libre-os-usb) [Descriptif technique de la conception de Libre OS USB (la recette en PDF !)](https://www.libre-expert.com/images/documents/recette_de_libre-os-usb_11-05-2018.pdf) [Vidéo de démonstration du système](https://www.youtube.com/watch?v=pRueDC-z4fY) ---- [Libre Expert](https://www.libre-expert.com), 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](https://www.libre-expert.com) propose aussi des [services d’assistance](https://www.libre-expert.com/services/assistance-linux) à l’usage de GNU/Linux pour les professionnels et les particuliers, ainsi que de [l’intégration et du développement de modules](https://www.libre-expert.com/services/dolibarr) pour le [PGI](https://fr.wikipedia.org/wiki/Progiciel_de_Gestion_Int%C3%A9gr%C3%A9 "Progiciel de gestion intégré") libre [Dolibarr](https://www.dolibarr.fr/). 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](https://github.com/ch1x0r/LinuxRespin) » : installez puis configurez ce logiciel dans `/etc` et utilisez la commande `respin 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](http://www.easy2boot.com) 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](http://www.easy2boot.com) 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](http://www.easy2boot.com/make-an-easy2boot-usb-drive/make-using-linux/)) ; - 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 sont `BOOTx64.EFI` et `grubx64.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 : ```bash dd if=/dev/zero of=casper-rw bs=1M count=4000 ``` - puis formater le fichier comme une partition : ```bash 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 : ```bash 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 : ```bash 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. 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 : _ - 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 modifier `usr/share/initramfs-tools/scripts/casper-bottom/12fstab` se trouvant dans l’arborescence du `initrd.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 le `initrd.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 : ```bash unsquashfs filesystem.squashfs mv filesystem.squashfs /path/to/backup/ ``` - allez dans `squashfs-root`, ajouter, modifier à votre convenance, et recréez le `filesystem.squashfs` comme ceci : ```bash 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_](https://www.gnome-look.org/p/1143453/) 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 : 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 ). 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 Pin-Priority: 1001 ``` __ 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](https://www.libre-expert.com/boutique/disques-durs-externes-nas-clefs-usb).

AltStyle によって変換されたページ (->オリジナル) /