Archiso (Français)

État de la traduction:
Cet article est la version francophone de
Archiso
. Date de la dernière traduction: 2022-10-03. Vous pouvez aider à synchroniser la traduction s'il y a eu des
changements
dans la version anglaise.
Related articles
Offline installation
Preboot Execution Environment
USB flash installation medium
Archiso
est un outil hautement personnalisable pour construire des images ISO CD/USB live d'Arch Linux. Les
images officielles
sont construites avec Archiso. Il peut être utilisé comme base pour des systèmes de secours, des installateurs linux ou d'autres systèmes. Cet article du wiki explique comment installer Archiso et comment le configurer pour contrôler certains aspects de l'image ISO résultante, tels que les paquets et les fichiers inclus. Les exigences techniques et les étapes de construction peuvent être trouvées dans la
documentation officielle du projet
. Archiso est implémenté avec un certain nombre de scripts bash. L'élément central d'Archiso est la commande
mkarchiso
. Ses options sont documentées dans
mkarchiso -h
et ne sont pas couvertes ici.
Installation
Installez
le paquet
archiso
ou
archiso-git
AUR
.
Préparer un profil personnalisé
Archiso est livré avec deux profils,
releng
et
baseline
.
releng
est utilisé pour créer l'ISO officiel d'installation mensuelle. Il peut être utilisé comme point de départ pour créer une image ISO personnalisée.
baseline
est une configuration minimaliste, qui ne comprend que le strict minimum de paquets nécessaires pour démarrer l'environnement live à partir du support.
Pour construire une version non modifiée des profils, passez à
#Créer l'ISO
. Sinon, si vous souhaitez adapter ou personnaliser l'un des profils fournis par archiso, copiez-le depuis
/usr/share/archiso/configs/
profile-name
/
vers un répertoire accessible en écriture portant le nom de votre choix. Par exemple :
$ cp -r /usr/share/archiso/configs/releng/ archlive
Passez aux sections suivantes pour personnaliser et construire le profil personnalisé.
Structure du profil
Un profil archiso contient la configuration qui définit l'image ISO résultante. La structure du profil est documentée dans
/usr/share/doc/archiso/README.profile.rst
[1]
.
Sélection des paquets
Modifiez
packages.x86_64
pour sélectionner les paquets à installer sur l'image système live, en listant les paquets ligne par ligne.
Dépôt local personnalisé
Pour ajouter des paquets qui ne se trouvent pas dans les dépôts standards d'Arch (par exemple des paquets personnalisés ou des paquets provenant de
AUR
/
ABS
), créez un
dépôt local personnalisé
et ajoutez-y vos paquets personnalisés. Ajoutez ensuite votre dépôt à
pacman.conf
comme suit :
archlive
/pacman.conf
...
[
customrepo
]
SigLevel = Optional TrustAll
Serveur = file://
/path/to/customrepo
(fichier)
...
Note
L'ordre dans
pacman.conf
est important. Pour donner la priorité absolue à votre dépôt personnalisé, placez-le au-dessus des autres entrées de dépôt
Paquets de multilib
Pour installer des paquets du dépôt
multilib
, il suffit de décommenter ce dépôt dans
pacman.conf
.
Ajout de fichiers à l'image
Le répertoire airootfs est utilisé comme point de départ pour le
root directory
. (
/
) du système live sur l'image. Tout son contenu sera copié dans le répertoire de travail avant l'installation des paquets.
Placez tous les fichiers et/ou répertoires personnalisés à l'emplacement souhaité sous
airootfs/
. Par exemple, si vous avez un ensemble de scripts iptables sur votre système actuel que vous voulez utiliser sur votre image live, copiez-les comme tel :
$ cp -r /etc/iptables
archlive
/airootfs/etc
De même, il faut faire attention aux fichiers de configuration spéciaux qui se trouvent quelque part dans la hiérarchie. Les parties manquantes de la structure de répertoire peuvent être simplement créées avec
mkdir(1)
.
Astuce
Pour ajouter un fichier au répertoire personnel de l'utilisateur de l'installation, placez-le dans
archlive
/airootfs/root/
. Pour ajouter un fichier au répertoire personnel de tous les autres utilisateurs, placez-le dans
archlive
/airootfs/etc/skel/
.
Note
Les fichiers personnalisés qui entrent en conflit avec ceux fournis par les paquets seront écrasés à moins qu'un paquet ne les spécifie comme
«backup files»
.
Par défaut, les
permissions
seront
644
pour les fichiers et
755
pour les répertoires. Tous ces fichiers appartiennent à l'utilisateur root. Pour définir des permissions ou des propriétés différentes pour des fichiers et/ou des dossiers spécifiques, utilisez le tableau associatif
file_permissions
dans
profiledef.sh
. Consultez
README.profile.rst
pour plus de détails.
Noyau
Bien que les deux profils inclus d'archiso n'aient que
linux
, les ISO peuvent être faits pour inclure d'autres ou même de multiples
noyaux
.
Tout d'abord, éditez
packages.x86_64
pour inclure les noms des paquets du noyau que vous voulez. Quand
mkarchiso
s'exécute, il inclura tous les fichiers
work_dir
/airootfs/boot/vmlinuz-*
et
work_dir
/boot/initramfs-*.img
dans l'ISO (et en plus dans l'image FAT utilisée pour le démarrage UEFI).
Les presets de
mkinitcpio
construiront par défaut des images initramfs de secours. Pour un ISO, l'image initramfs principale n'inclut généralement pas le crochet
autodetect
, ce qui rend inutile la création d'une image de repli supplémentaire. Pour empêcher la création d'une image initramfs de secours, afin qu'elle ne prenne pas de place ou ne ralentisse pas le processus de construction, placez un préréglage personnalisé dans
archlive
/airootfs/etc/mkinitcpio.d/
pkgbase
.preset
. Par exemple, pour
linux-lts
:
archlive
/airootfs/etc/mkinitcpio.d/linux-lts.preset
PRESETS=('archiso')

ALL_kver='/boot/vmlinuz-linux-lts
ALL_config='/etc/mkinitcpio.conf

archiso_image="/boot/initramfs-linux-lts.img"
Enfin, créez la
configuration du chargeur d'amorçage
pour permettre de démarrer le(s) noyau(x).
Chargeur d'amorçage
Archiso prend en charge
syslinux
pour le démarrage du BIOS et
systemd-boot
pour le démarrage de l'UEFI. Référez-vous aux articles des chargeurs d'amorçage pour des informations sur leur syntaxe de configuration.
Astuce
Le profil
releng
construit par défaut un ISO qui prend en charge les démarrages BIOS et UEFI lorsqu'il est gravé sur un disque optique à l'aide d'El Torito, ou lorsqu'il est écrit sur un disque dur (ou une clé USB, ou similaire) à l'aide de
Isohybrid
.
En raison de la nature modulaire d'isolinux, vous pouvez utiliser beaucoup d'addons puisque tous les fichiers
.c32
sont copiés et disponibles pour vous. Jetez un coup d'oeil au
site officiel syslinux
et au
archiso git repo
. En utilisant ces addons, il est possible de faire des menus visuellement attractifs et complexes. Consultez
[2]
.
mkarchiso s'attend à ce que la configuration
systemd-boot
se trouve dans le répertoire
efiboot
, et la configuration
syslinux
dans les répertoires
syslinux
et
isolinux
.
Boot sécurisé UEFI
Si vous voulez rendre votre Archiso démarrable sur un environnement activé par UEFI Secure Boot, vous devez utiliser un chargeur d'amorçage signé. Vous pouvez suivre les instructions sur
Secure Boot#Booting an installation medium
.
unités systemd
Pour
activer
les services/sockets/temporisateurs de systemd pour l'environnement live, vous devez créer manuellement les liens symboliques comme le fait
systemctl enable
.
Par exemple, pour activer
gpm.service
, qui contient
WantedBy=multi-user.target
, exécutez :
$ mkdir -p
archlive
/airootfs/etc/systemd/system/multi-user.target.wants
$ ln -s /usr/lib/systemd/system/gpm.service
archlive
/airootfs/etc/systemd/system/multi-user.target.wants/
Les liens symboliques requis peuvent être trouvés en lisant l'unité systemd, ou si le service est installé, en l'
activant
et en observant la sortie de systemctl.
Gestionnaire de connexion
Le démarrage de X au démarrage se fait en activant le service
systemd
de votre gestionnaire de connexion. Si vous ne savez pas quel
.service
activer, vous pouvez facilement le découvrir si vous utilisez le même programme sur le système sur lequel vous construisez votre ISO. Utilisez simplement :
$ ls -l /etc/systemd/system/display-manager.service
Créez maintenant le même lien symbolique dans
archlive
/airootfs/etc/systemd/system/
. Pour LXDM :
$ ln -s /usr/lib/systemd/system/lxdm.service
archlive
/airootfs/etc/systemd/system/display-manager.service
Ceci activera LXDM au démarrage du système sur votre système live.
Modification de la connexion automatique
La configuration de la connexion automatique de getty se trouve sous
airootfs/etc/systemd/system/getty@tty1.service.d/autologin.conf
.
Vous pouvez modifier ce fichier pour changer l'utilisateur de la connexion automatique :
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin
username
--noclear %I 38400 linux
Ou supprimez-la complètement pour désactiver la connexion automatique.
Utilisateurs et mots de passe
Pour créer un
utilisateur
qui sera disponible dans l'environnement réel, vous devez modifier manuellement
archlive
/airootfs/etc/passwd
,
archlive
/airootfs/etc/shadow
,
archlive
/airootfs/etc/group
et
archlive
/airootfs/etc/gshadow
.
Note
Si ces fichiers existent, ils doivent contenir l'utilisateur et le groupe root.
Par exemple, pour ajouter un utilisateur
archie
. Ajoutez-le à
archlive
/airootfs/etc/passwd
en suivant la syntaxe
passwd(5)
:
archlive
/airootfs/etc/passwd
root:x:0:0:root:/root:/usr/bin/zsh
archie:x:1000:1000::/home/archie:/usr/bin/zsh
Générez un hachage de mot de passe avec
openssl passwd -6
et ajoutez-le à
archlive
/airootfs/etc/shadow
en suivant la syntaxe de
shadow(5)
. Par exemple :
archlive
/airootfs/etc/shadow
root::14871::::: :
archie:$6$randomsalt$cij4/pJREFQV/NgAgh9YyBIoCRRNq2jp5l8lbnE5aLggJnzIRmNVlogAg8N6hEEecLwXHtMQIl2NX2HlDqhCU1:14871::::: :
Ajoutez le groupe de l'utilisateur et les groupes dont il fera partie à
archlive
/airootfs/etc/group
selon
group(5)
. Par exemple :
archlive
/airootfs/etc/group
root:x:0:root
adm:x:4:archie
wheel:x:10:archie
uucp:x:14:archie
archie:x:1000 :
Créez le
archlive
/airootfs/etc/gshadow
approprié selon
gshadow(5)
:
archlive
/airootfs/etc/gshadow
root:!*::root
archie:!*: :
Vérifiez que
/etc/shadow
et
/etc/gshadow
ont les bonnes permissions :
archlive
/profiledef.sh
...
file_permissions=(
  ...
  ["/etc/shadow"]="0:0:0400"
  ["/etc/gshadow"]="0:0:0400"
)
Après l'installation du paquet,
mkarchiso
créera tous les répertoires personnels spécifiés pour les utilisateurs listés dans
archlive
/airootfs/etc/passwd
et y copiera
work_directory
/x86_64/airootfs/etc/skel/*
. Les fichiers copiés auront la propriété de l'utilisateur et du groupe appropriés.
Changer le nom de la distribution utilisé dans l'ISO
Commencez par copier le fichier
/etc/os-release
dans le dossier
etc/
du rootfs. Ensuite, éditez le fichier en conséquence. Vous pouvez également changer le nom dans GRUB et syslinux.
Créer l'ISO
Créez un ISO que vous pouvez ensuite graver sur un CD ou une clé USB en exécutant :
# mkarchiso -v -w
/path/to/work_dir
-o
/path/to/out_dir
/path/to/profile/
-w
spécifie le répertoire de travail. Si l'option n'est pas spécifiée, il s'agira par défaut de
work
dans le répertoire courant.
-o
spécifie le répertoire où l'image ISO construite sera placée. Si l'option n'est pas spécifiée, il s'agira par défaut de
out
dans le répertoire courant.
Il convient de noter que le fichier de profil
profiledef.sh
ne peut pas être spécifié lors de l'exécution de mkarchiso, juste le chemin d'accès au fichier.
Remplacez
/path/to/profile/
par le chemin d'accès à votre profil personnalisé, ou par
/usr/share/archiso/configs/releng/
si vous construisez un profil non modifié.
Astuce
Si la mémoire le permet, il est préférable de placer le répertoire de travail en
tmpfs
. Par exemple :
# mkarchiso -v -w /tmp/archiso-tmp
/path/to/profile/
Une fois exécuté, le script téléchargera et installera les paquets que vous avez spécifiés dans
work_directory
/x86_64/airootfs
, créera le noyau et les images init, appliquera vos personnalisations et enfin construira l'ISO dans le répertoire de sortie.
Suppression du répertoire de travail
Attention
Si
mkarchiso
est interrompu, exécutez
findmnt(8)
pour vous assurer qu'il n'y a pas de liaison de montage avant de le supprimer - sinon,
vous risquez de perdre des données
(par ex. un périphérique externe monté dans
/run/media/
user
/
label
est lié à
work/x86_64/airootfs/run/media/
user
/
label
pendant le processus de construction).
Les fichiers temporaires sont copiés dans le répertoire de travail. Après avoir réussi à construire l'ISO , le répertoire de travail et son contenu peuvent être supprimés. Par exemple :
# rm -rf
/path/to/work_dir
Utilisation de l'ISO
Consultez
Guide d'installation#Préparer un support d'installation
pour connaître les différentes options.
Tester l'ISO dans QEMU
Installez
les dépendances optionnelles
qemu-desktop
et
edk2-ovmf
.
Utilisez le script de commodité
run_archiso
pour exécuter une image construite en utilisant
QEMU
.
$ run_archiso -i
/path/to/
archlinux-
yyyy.mm.dd
-x86_64.iso
La machine virtuelle peut également être exécutée à l'aide de l'émulation UEFI :
$ run_archiso -u -i
/path/to/
archlinux-
yyyy.mm.dd
-x86_64.iso
Trucs et astuces
Construction en ligne
Si vous ne disposez pas d'un système d'archivage ou si vous devez configurer Archiso à partir d'une autre distribution GNU/Linux, sachez qu'il existe un
générateur en ligne
.
Préparer un ISO pour une installation via SSH
Note
Depuis
archlinux-2021.02.01-x86_64.iso
, la
prise en charge de cloud-init
est fournie, et
sshd.service
est
activé par défaut
.
Pour
installer Arch Linux via SSH
sans aucune interaction avec le système, une clé publique SSH doit être placée dans
authorized_keys
.
L'ajout de la clé SSH peut être fait manuellement (expliqué ici), ou
par cloud-init
.
Pour ajouter la clé manuellement, commencez par
copier le profil releng d'Archiso
dans un répertoire accessible en écriture. L'exemple suivant utilise
archlive
.
$ cp -r /usr/share/archiso/configs/
profil/
archlive
Créez un répertoire
.ssh
dans le répertoire personnel de l'utilisateur qui sera utilisé pour se connecter. Dans l'exemple suivant, nous utiliserons l'utilisateur root.
$ mkdir archlive/airootfs/root/.ssh
Ajoutez la ou les clés publiques SSH, qui seront utilisées pour se connecter, à
authorized_keys
:
$ cat ~/.ssh/
key1
.pub >> archlive/airootfs/root/.ssh/authorized_keys
$ cat ~/.ssh/
key2
.pub >> archlive/airootfs/root/.ssh/authorized_keys
Définissez les
permissions
et la propriété correctes pour le répertoire
.ssh
et le fichier
authorized_keys
:
archlive/profiledef.sh
...
file_permissions=(
  ...
  ["/root"]="0:0:0750"
  ["/root/.ssh"]="0:0:0700"
  ["/root/.ssh/authorized_keys"]="0:0:0600"
)
Enfin,
créez l'ISO
. Au démarrage de l'ISO,
OpenSSH
démarrera et il sera possible de se connecter en utilisant la ou les clés privées SSH correspondantes.
Se connecter automatiquement à un réseau Wi-Fi en utilisant iwd
Créez
/var/lib/iwd/
dans le répertoire
airootfs
du profil et définissez les permissions correctes :
$ mkdir -p
archlive
/airootfs/var/lib/iwd
archlive/profiledef.sh
...
file_permissions=(
  ...
  ["/var/lib/iwd"]="0:0:0700"
)
Suivez les instructions de
Iwd#Network configuration
et de
iwd.network(5)
pour créer un fichier de configuration réseau pour votre réseau Wi-Fi.
Enregistrez le fichier de configuration dans
archlive
/airootfs/var/lib/iwd/
.
Ajustement de la taille de la partition racine à la volée
Si vous obtenez le message d'erreur suivant lors du téléchargement de fichiers ou de l'installation de paquets dans l'environnement ISO démarré, vous devrez peut-être arrêter et ajuster la taille de la partition racine en redémarrant l'Archiso.
error: partition / too full: 63256 blocks needed, 61450 blocks free
error: not enough free disk space
error: failed to commit transaction (not enough free disk space) 
Errors occurred: no packages were upgraded.
Pour ajuster la taille de la partition racine sur le système Arch Linux en direct, appuyez sur la touche
Tab
pour modifier les paramètres du noyau.
Ajoutez
cow_spacesize=2G
à la fin pour obtenir une taille de 2G pour la partition racine.
Appuyez sur
Enter
pour continuer à démarrer dans le système "live".
Vous pouvez vérifier la taille des systèmes de fichiers en exécutant :
$ df -h
Vous pouvez également ajuster la taille de la partition racine à la volée en exécutant cette commande :
# mount -o remount,size=2G /run/archiso/cowspace
Consultez d'autres paramètres de démarrage
ici
Chiffrement
Pour que
mkarchiso
produise des images chiffrées, la prise en charge de
LUKS
dans
archiso
, la compatibilité du hook
encrypt
dans
mkinitcpio-archiso
et la prise en charge des
cryptkey
s imbriquées dans
cryptsetup
doivent être approuvées.
Les paquets avec ces fonctionnalités sont
archiso-encryption
AUR
[
broken link
: package not found]
,
mkinitcpio-archiso-encryption
AUR
[
broken link
: package not found]
et
cryptsetup-nested-cryptkey
AUR
[
broken link
: package not found]
.
Pour activer le chiffrement à un profil existant :
ajoutez
+luks
à la valeur
airootfs_image_type
dans
profiledef.sh
;
Définissez une
encryption_key
dans
profiledef.sh
(pour utiliser un fichier clé au lieu d'un mot de passe).
activer le hook
encrypt
dans
/etc/mkinitcpio.conf
;
ajouter les paquets AUR (ou construire des remplacements personnalisés avec les sources mentionnées ci-dessus) dans
packages.x86_64
Ajouter le mode de construction
keys
au tableau
buildmodes
de
profiledef.sh
(pour construire un deuxième ISO contenant le fichier clé qui, placé sur un stockage externe, est capable de démarrer le système).
Des exemples de configurations basées sur les profils
baseline
et
releng
sont disponibles en tant que
ebaseline
et
ereleng
dans le paquet
archiso-profiles
AUR
[
broken link
: package not found]
.
Images Google Compute Engine
Une image compressée
releng
compatible avec Google Compute Engine est disponible sous la forme
archlinux-gce
AUR
[
broken link
: package not found]
.
Configuration de la machine virtuelle libvirt
Une configuration
libvirt
qui exécute l'image
releng
est disponible sous
archlinux-libvirt
AUR
[
broken link
: package not found]
.
Dépannage
Le gestionnaire de fenêtres se bloque
Si vous voulez utiliser un
gestionnaire de fenêtres
dans le Live CD, vous devez ajouter les
pilotes vidéo
nécessaires et corrects, ou le WM peut se bloquer au chargement.
Voir aussi
Page du projet Archiso
Documentation officielle
Liste de diffusion pour l'ingénierie de la version d'Arch Linux
#archlinux-releng - canal IRC pour l'ingénierie des versions d'Arch Linux
archiso-manager - l'outil utilisé pour construire les ISOs mensuels officiels
.