Archiso (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Tango-preferences-desktop-locale.pngCet article ou section a besoin d'être traduit(e).Tango-preferences-desktop-locale.png

Notes: Cet article ne respecte pas la structure de sa version anglophone, merci de le réécrire en conséquence. Vous pouvez aussi ajouter à la version anglophone les informations à-jour et dignes d’intérêt qui ne seraient portées que par la version francophone. Voir ArchWiki:Translation Team (Français) (Discuss in Talk: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.

Note: Il est recommandé de faire une mise à jour de votre système avant toute chose - le paquet archiso notamment est souvent modifié vers le 1er de chaque mois pour adapter le script build.sh
Attention: Certains scripts comme 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

Note: Si vous voulez utiliser une interface graphique dans le CD/USB-Live vous devrez ajouter les pilotes vidéos nécessaires et adaptés pour éviter un gel au démarrage.
Note: Le paquet AUR/archuseriso automatise cela

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.