Archiso (Français)
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-gitAUR. Le paquet archiso-profilesAUR contient des profils supplémentaires fournis par la communauté.
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
.
Sélection des paquets
Modifiez pour sélectionner les paquets à installer sur l'image système vivante, 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 à comme suit :
''archlive''/pacman.conf
... [''customrepo''] SigLevel = Optional TrustAll Serveur = file://''/path/to/customrepo'' (fichier) ...
Paquets de multilib
Pour installer des paquets du dépôt multilib, il suffit de décommenter ce dépôt dans .
Ajout de fichiers à l'image
Le répertoire airootfs est utilisé comme point de départ pour le root directory. (/
) du système vivant 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 . 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 .
Par défaut, les permissions seront pour les fichiers et 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 dans . Consultez README.profile.rst pour plus de détails.
Noyau
Bien que les deux profils inclus d'archiso n'aient que , les ISO peuvent être faits pour inclure d'autres ou même de multiples noyaux.
Tout d'abord, éditez 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 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 . Par exemple, pour :
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.
mkarchiso s'attend à ce que la configuration systemd-boot se trouve dans le répertoire , et la configuration syslinux dans les répertoires et .
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 , qui contient , 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 . 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 .
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
, , et .
Par exemple, pour ajouter un utilisateur archie
. Ajoutez-le à archlive/airootfs/etc/passwd
en suivant la syntaxe :
Générez un hachage de mot de passe avec et ajoutez-le à en suivant la syntaxe de . 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 à selon . Par exemple :
Créez le approprié selon :
Vérifiez que /etc/shadow
et ont les bonnes permissions :
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 . 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 dans le dossier 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/
- spécifie le répertoire de travail. Si l'option n'est pas spécifiée, il s'agira par défaut de 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 dans le répertoire courant.- Il convient de noter que le fichier de profil ne peut pas être spécifié lors de l'exécution de mkarchiso, juste le chemin d'accès au fichier.
Remplacez par le chemin d'accès à votre profil personnalisé, ou par si vous construisez un profil non modifié.
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
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 et .
Utilisez le script de commodité 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
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 .
$ cp -r /usr/share/archiso/configs/profil/ archlive
Créez un répertoire 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 et le fichier authorized_keys
:
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 dans le répertoire 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 pour créer un fichier de configuration réseau pour votre réseau Wi-Fi.
Enregistrez le fichier de configuration dans .
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 pour modifier les paramètres du noyau.
Ajoutez à la fin pour obtenir une taille de 2G pour la partition racine.
Appuyez sur Enter
pour continuer à démarrer dans le système vivant.
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 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 s imbriquées dans doivent être approuvées.
Les paquets avec ces fonctionnalités sont , et .
Pour activer le chiffrement à un profil existant :
- ajoutez
+luks
à la valeur dans ; - Définissez une dans (pour utiliser un fichier clé au lieu d'un mot de passe).
- activer le hook dans
/etc/mkinitcpio.conf
; - ajouter les paquets AUR (ou construire des remplacements personnalisés avec les sources mentionnées ci-dessus) dans
- Ajouter le mode de construction au tableau de (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 et sont disponibles en tant que et ereleng
dans le paquet archiso-profilesAUR.
Images Google Compute Engine
Une image compressée compatible avec Google Compute Engine est disponible sous la forme .
Configuration de la machine virtuelle libvirt
Une configuration libvirt qui exécute l'image est disponible sous .
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.