feat(anaconda): improve installation process and post-install handling

- Add kernel copy step in %pre to ensure vmlinuz-linux is available for mkinitcpio
- Refactor xinitrc post-install log detection to use /tmp/fws-post-chroot.log copied by kickstart
- Add success detection based on mkinitcpio and grub-install log markers
- Display success screen and poweroff on successful installation, show debug logs on failure
- Add load_policy and setstatus stub scripts to suppress SELinux-related Anaconda warnings
- Force MBR partition table (--disklabel=msdos) for BIOS boot compatibility
- Create standard mkinitcpio preset to replace archiso-specific configuration
- Automatically inject lvm2 hook when root is on LVM
- Fix GRUB installation to properly extract disk path from lsblk output
- Downgrade version to 0.5.3 (development/testing release)
This commit is contained in:
2026-06-22 15:04:41 +02:00
parent 9e3cca8efc
commit 2c9e4e6260
6 changed files with 136 additions and 36 deletions
+11
View File
@@ -0,0 +1,11 @@
#!/bin/sh
# FWS — stub no-op de load_policy.
#
# À sa fermeture, le module Runtime d'Anaconda appelle /usr/sbin/load_policy
# pour recharger la politique SELinux. Arch N'EST PAS SELinux → le vrai binaire
# n'existe pas → « AnacondaError: ... '/usr/sbin/load_policy' » dans un atexit
# callback (« Exception ignored »). C'est cosmétique (exit 0 quand même), mais
# ça affiche un traceback rouge. Ce stub renvoie 0 → plus aucune erreur.
# (/usr/sbin est un lien vers /usr/bin sur Arch usr-merge → ce fichier répond
# aussi pour /usr/sbin/load_policy.)
exit 0
+8
View File
@@ -0,0 +1,8 @@
#!/bin/sh
# FWS — stub no-op de setstatus.
#
# Le script Fedora « liveinst » appelle « setstatus » (ligne ~154) pour publier
# un statut SELinux/systemd. Cet outil n'existe pas sur Arch →
# « /usr/bin/liveinst: line 154: setstatus: command not found » (cosmétique,
# liveinst continue). Ce stub renvoie 0 → l'avertissement disparaît.
exit 0