fix(Calamares): Installater will ask the desktop env before the calamares install
- The installer is still W.I.P
This commit is contained in:
@@ -5,10 +5,39 @@
|
||||
|
||||
dontChroot: true
|
||||
|
||||
# Timeout par défaut (secondes) appliqué à chaque commande.
|
||||
# La valeur par défaut de Calamares est 30 s — beaucoup trop courte
|
||||
# pour l'installation d'un bureau complet (pacman télécharge des
|
||||
# centaines de Mo). On relève le défaut et on accorde un délai
|
||||
# spécifique très large à la commande d'init du bureau.
|
||||
timeout: 300
|
||||
|
||||
script:
|
||||
# Copie le kernel depuis l'ISO vers /boot du système cible
|
||||
- 'cp "$(find /run/archiso/bootmnt -name vmlinuz-linux 2>/dev/null | head -1)" "${ROOT}/boot/vmlinuz-linux"'
|
||||
- 'chroot "${ROOT}" /bin/bash "/usr/local/bin/fws-desktop-init-$(cat /run/fws-desktop 2>/dev/null || printf xfce)"'
|
||||
# Installation du bureau choisi : peut être long (réseau + gros DE
|
||||
# comme KDE/GNOME) → 1 h de marge pour ne jamais expirer à tort.
|
||||
#
|
||||
# arch-chroot (et non « chroot » brut) : monte /proc /sys /dev /run et
|
||||
# copie resolv.conf dans la cible. Indispensable, sinon les hooks
|
||||
# post-transaction de pacman (systemd daemon-reload, udev, tmpfiles…)
|
||||
# échouent faute de ces points de montage → pacman sort en code 1
|
||||
# alors même que les téléchargements ont réussi.
|
||||
# Le nom du bureau est validé contre une allow-list (mêmes valeurs que
|
||||
# les scripts fws-desktop-init-* présents) : toute valeur vide / inconnue
|
||||
# / avec espace parasite retombe sur xfce → jamais d'abandon d'install sur
|
||||
# un script d'init manquant.
|
||||
- command: 'd="$(cat /run/fws-desktop 2>/dev/null)"; d="${d%%[[:space:]]*}"; case "$d" in xfce|kde|gnome|hyprland) ;; *) d=xfce ;; esac; arch-chroot "${ROOT}" /bin/bash "/usr/local/bin/fws-desktop-init-$d"'
|
||||
timeout: 3600
|
||||
|
||||
# ── Nettoyage des artefacts « live-only » qui ne doivent PAS persister
|
||||
# sur le système installé (le squashfs du live devient le root cible) ──
|
||||
# 1) Autologin root SANS mot de passe sur tty1 (drop-in getty du live) :
|
||||
# trou de sécurité + conflit avec le display manager sur vt1.
|
||||
- 'rm -rf "${ROOT}/etc/systemd/system/getty@tty1.service.d"'
|
||||
# 2) Provisionnement auto archiso (param noyau script=) : ne doit jamais
|
||||
# tourner sur la machine installée.
|
||||
- 'rm -f "${ROOT}/root/.zlogin" "${ROOT}/root/.automated_script.sh"'
|
||||
|
||||
# Supprime le drop-in archiso (surcharge HOOKS avec des hooks inexistants post-install)
|
||||
- 'rm -f "${ROOT}/etc/mkinitcpio.conf.d/archiso.conf"'
|
||||
|
||||
Reference in New Issue
Block a user