feat(baseline): add locale generation and rootfs mounting infrastructure
Add locale configuration, systemd service for rootfs mounting, and customization script: - Add locale.gen to generate en_US.UTF-8 locale required by Anaconda - Add fws-rootfsbase.service to expose squashfs as /run/rootfsbase for Anaconda LiveOS payload detection - Add customize_airootfs.sh to run locale-gen during image build - Add python-iso639 0.1.4 PKGBUILD (local package with correct find() API) - Add python-langtable 0.0.71 PKGBUILD (local package with list_common_languages()) - Remove python-iso639 and python-langtable from AUR packages due to version/API incompatibilities - Update LOCAL_BUILD_ORDER to include new local packages
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
# FWS — locales à générer dans l'ISO (par locale-gen, via le hook pacman
|
||||
# etc/pacman.d/hooks/zzz-fws-locale-gen.hook au moment du pacstrap).
|
||||
#
|
||||
# en_US.UTF-8 est REQUIS par Anaconda : ses modules DBus font
|
||||
# locale.setlocale(LC_ALL, "en_US.UTF-8") (DEFAULT_LANG)
|
||||
# au démarrage → sans cette locale générée : « locale.Error: unsupported
|
||||
# locale setting » et le module Boss sort en status 1 (installateur planté).
|
||||
# C.UTF-8 (la locale par défaut du live, cf. locale.conf) est intégrée à la
|
||||
# glibc et n'a pas besoin d'être générée.
|
||||
en_US.UTF-8 UTF-8
|
||||
@@ -0,0 +1,28 @@
|
||||
# FWS — expose la base squashfs du live à /run/rootfsbase.
|
||||
#
|
||||
# POURQUOI : avec --liveinst, Anaconda utilise le payload « LiveOS » qui RECOPIE
|
||||
# le système live en cours sur le disque. Sa tâche DetectLiveOSImageTask cherche
|
||||
# l'image de base à /dev/mapper/live-base, /dev/mapper/live-osimg-min ou
|
||||
# /run/rootfsbase (conventions dracut-live de Fedora). archiso n'en crée AUCUNE
|
||||
# → « SourceSetupError: No Live OS image found! » et l'installateur plante.
|
||||
#
|
||||
# archiso a pourtant la squashfs (montée en lecture seule sur /run/archiso/
|
||||
# airootfs). On la remonte ici en loop sur /run/rootfsbase pour qu'Anaconda la
|
||||
# détecte : findmnt -o SOURCE /run/rootfsbase → /dev/loopN, qu'Anaconda monte
|
||||
# puis recopie sur la cible (= installe FWS). Le %post du kickstart fait ensuite
|
||||
# mkinitcpio + grub-install (bootloader --disabled côté Anaconda).
|
||||
[Unit]
|
||||
Description=FWS — base squashfs sur /run/rootfsbase (payload LiveOS Anaconda)
|
||||
DefaultDependencies=no
|
||||
After=local-fs.target
|
||||
ConditionPathExists=/run/archiso/bootmnt/fws/x86_64/airootfs.sfs
|
||||
ConditionPathIsMountPoint=!/run/rootfsbase
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=/usr/bin/mkdir -p /run/rootfsbase
|
||||
ExecStart=/usr/bin/mount -o loop,ro /run/archiso/bootmnt/fws/x86_64/airootfs.sfs /run/rootfsbase
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Reference in New Issue
Block a user