Archiso (Français)
Recréer un live sur CD ou image USB d'Arch Linux, c'est possible en utilisant un programme nommé archiso. Archiso est un ensemble de petits scripts bash capable de générer une image de live-CD/USB complètement opérationnelle. C'est un outil assez générique qui peut notamment servir à construire des systèmes de secours, des disques d'installation spécifiques ou des systèmes live axés sur des intérêts particuliers, du système minimaliste à l'usine à gaz de démonstration...
Le système d'archiso tourne autour de mkarchiso
. Toutes ses options sont documentées dans la sortie standard.
build.sh
et le contenu du répertoire airootfs
doivent être manipulés en root uniquement. Bien que ce ne soit pas nécessaire pour toutes les manipulations, effectuez les en root afin d'éviter les problèmes de droits.Installation
Vous pouvez installer le paquet archiso avec Pacman.
Utilisation
Commencez par créer un répertoire dédié à votre distribution. Ici nous l’appellerons archlive:
$ mkdir ~/archlive
Durant l'installation du paquet archiso nous avons installé une série de scripts et d'arborescences qui permettront de générer l'image disque. Ceux -ci se présentent sous deux arborescences: releng et baseline. Si vous souhaitez créer un live complet avec tous vos paquets favoris pré-installés et des scripts poussés, utilisez releng. Si vous préférez une installation ultra-minimale, sans paquet pré-installé utilisez baseline. À titre d'exemple, si vous utilisez releng sans aucune modification ultérieure, vous recréerez l'iso d'archlinux officielle. Nous montrerons ici la méthode releng.
Maintenant, copiez le profil choisi, baseline ou releng dans le répertoire archlive
cp -r /usr/share/archiso/configs/releng/ ~/archlive cd archlive/
Configuration de l'iso
Cette section décrit comment configurer notre image disque, comment y installer des paquets, ajouter des utilisateurs, rajouter des fichiers, scripts à exécuter, etc.
Installation de paquets
Pour installer de nouveaux paquets, il suffira d'ajouter le nom de ceux qui nous intéressent dans les fichiers packages.x86_64
(les architectures 32 bits ne sont plus prises en charge par Archlinux). Les noms des paquets doivent être écrits un par ligne.
Si par exemple on veut rajouter vim à notre image on peut procéder de la sorte:
echo vim >> ~/archlive/releng/packages.x86_64
vim sera ainsi installé sur votre iso.
Scripter le démarrage
Pour lancer des scripts au démarrage de l'iso, il faut éditer le fichier releng/airootfs/root/customize_airootfs.sh
.
vim ~/archlive/releng/airootfs/root/customize_airootfs.sh
Voici quelques exemples utiles de modifications :
Locales et clavier en français
Pour générer les locales françaises commentez la ligne par défaut et éditez le fichier comme suit:
customize_airootfs.sh
#sed -i 's/#\(en_US\.UTF-8\)/\1/' /etc/locale.gen sed -i 's/#\(fr_FR\.UTF-8\)/\1/' /etc/locale.gen locale-gen
Changez de la même manière le fuseau horaire:
customize_airootfs.sh
#ln -sf /usr/share/zoneinfo/UTC /etc/localtime ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
Pour avoir le clavier azerty français dans votre terminal :
echo "KEYMAP=fr-latin9" > ~/archlive/releng/airootfs/etc/vconsole.conf
Changer le shell de zsh vers bash
Par défaut, le shell est zsh. pour revenir à bash, modifiez customize_airootfs.sh
comme suit:
customize_airootfs.sh
#usermod -s /usr/bin/zsh root usermod -s /bin/bash root
Ajout d'utilisateurs et autologin
Par défaut un utilisateur nommé arch est créé dans l'iso à la ligne:
customize_airootfs.sh
useradd -m -p "" -g users -G "adm,audio,floppy,log,network,rfkill,scanner,storage,optical,power,wheel" -s /usr/bin/zsh arch
Vous noterez qu'il dispose d'un home, n'a pas de mot de passe et qu'il fait partie du groupe wheel
, il dispose donc de privilèges d'administration. Vous pouvez vous servir de cette ligne comme référence pour ajouter d'autres utilisateur ou bien encore la supprimer.
Pour vous logger automatiquement avec un autre utilisateur que root (par exemple toto), modifiez le fichier releng/airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
comme suit:
autologin.conf
[Service] ExecStart= ExecStart=-/sbin/agetty --autologin toto --noclear %I 38400 linux
Ou supprimez l'option --autologin
pour ne pas vous connecter automatiquement à aucun compte.
Installation de fichiers
L'arborescence déployée dans le live se situe dans le répertoire /airootfs/
Ici nous allons voire deux cas de figures :
- Installation d'un fichier dans l'arborescence racine
- Installation d'un fichier dans le home des utilisateurs
Arborescence racine
Copions par exemple vos scripts de configuration de firewall Iptables.
cp -r /etc/iptables ~/archlive/releng/airootfs/etc
Ainsi vos règles seront prises en compte dans le live.
Répertoire home des utilisateurs
Admettons que vous vouliez copier votre fichier .vimrc
préféré. Ne créez pas de répertoire /airootfs/home/toto
! Vous devez créer un répertoire skel:
mkdir ~/archlive/releng/airootfs/etc/skel
Puis y copier votre fichier :
cp ~/.vimrc ~/archlive/releng/airootfs/etc/skel
Ainsi il sera déployé pour tous les utilisateurs créés.
Interface graphique
Création de l'iso
Se placer dans le bon répertoire, par exemple:
cd ~/archlive/releng
Créer la destination de l'image:
mkdir out
Avec les droits root lancez le script de construction de l'image:
./build.sh -v
Vous retrouverez l'image iso dans le répertoire ~/archlive/releng/out
.
Relancer la création de l'iso
Si vous ajustez votre image et que vous opérez des modifications ultérieures, pour relancer la création de l'iso, vous devrez supprimer des fichiers de lock. Ce sont tous les fichiers contenus dans le répertoire work
.
rm -rvf ~/archlive/releng/work
Si vous ne souhaitez pas supprimer de paquet mais juste en ajouter, vous pouvez simplement supprimer les fichiers commençant par build.make_* :
rm -vf ~/archlive/releng/work/build.make_*
Cela vous évitera de télécharger de nouveau tous les paquets
Lancer le build sur une archi 32 bits
Il n'est plus possible de construire une ISO sur une architecture 32 bits.