chore: migrate from calamares to anaconda installer

Remove Calamares compilation and configuration, replace with Anaconda installer setup.

Changes:
- Remove Calamares-related entries from .gitignore
- Update README with migration status from Calamares to Anaconda
- Rename setup-calamares.sh references to setup-aur.sh
- Remove Calamares packages from package lists
- Add anaconda and liveimg payload packages
- Add Anaconda kickstart configuration (interactive-defaults.ks)
- Update boot sequence documentation: remove Calamares desktop selection, simplify to Openbox live environment
- Remove Calamares-specific troubleshooting entries
- Clean up .xinitrc and .zlogin to remove Calamares launcher
- Update build scripts to reference local repo generically instead of Calamares-specific
This commit is contained in:
2026-06-17 10:33:28 +02:00
parent c412cd5d33
commit de9647a00d
12 changed files with 202 additions and 85 deletions
+20 -28
View File
@@ -1,6 +1,6 @@
# FWS
**FWS** est une distribution Linux live/installable basée sur **Arch Linux**, livrée sous forme d'ISO bootable BIOS/UEFI avec l'installeur graphique **Calamares** lancé automatiquement au démarrage.
**FWS** est une distribution Linux live/installable basée sur **Arch Linux**, livrée sous forme d'ISO bootable BIOS/UEFI. L'installateur graphique est **en cours de migration de Calamares vers Anaconda** (Calamares retiré au commit 05ae9c3, intégration d'Anaconda en cours — voir le chantier dédié).
Le projet est conçu pour être **construit depuis Windows via WSL** (les scripts détectent Git Bash et basculent automatiquement dans WSL), mais fonctionne aussi directement depuis une Arch Linux native.
@@ -9,8 +9,8 @@ Le projet est conçu pour être **construit depuis Windows via WSL** (les script
## Aperçu
- **Base** : Arch Linux (rolling release)
- **Installeur** : Calamares 3.4.2 (compilé depuis l'AUR, servi via un repo pacman local)
- **Affichage live** : Xorg + Openbox, lancement automatique de Calamares
- **Installateur** : en migration Calamares → Anaconda (Calamares retiré, Anaconda en préparation ; payload `liveimg` pour installer FWS et non Fedora)
- **Affichage live** : Xorg + Openbox (session graphique conservée pour l'installateur)
- **Bureaux installables** : XFCE, KDE Plasma, GNOME, Hyprland (choix à l'installation)
- **Boot** : BIOS (syslinux) + UEFI (systemd-boot)
- **Compression** : squashfs (xz)
@@ -90,7 +90,7 @@ pacman -Syu --noconfirm
mount | grep '/tmp'
```
> **Note** : le script `setup-calamares.sh` désactive automatiquement le sandbox landlock de pacman ≥ 7 (incompatible avec le kernel WSL) en ajoutant `DisableSandbox` dans `/etc/pacman.conf`. Tu n'as rien à faire.
> **Note** : le script `setup-aur.sh` désactive automatiquement le sandbox landlock de pacman ≥ 7 (incompatible avec le kernel WSL) en ajoutant `DisableSandbox` dans `/etc/pacman.conf`. Tu n'as rien à faire.
---
@@ -112,9 +112,10 @@ Les scripts détectent l'absence de WSL et s'exécutent en local. Il faut être
Depuis **Git Bash sur Windows** (à la racine du repo) :
```bash
# Étape 1 : compilation de Calamares + winboat depuis l'AUR
# → crée local-repo/ avec les .pkg.tar.zst signés
./setup-calamares.sh
# Étape 1 : compilation des paquets AUR (winboat) + deps locales
# → crée local-repo/ avec les .pkg.tar.zst
# (Calamares retiré ; l'installateur Anaconda est un chantier en cours)
./setup-aur.sh
# Étape 2 : build de l'ISO via mkarchiso
# → fusionne configs/releng + configs/baseline
@@ -127,7 +128,7 @@ L'ISO finale est générée dans `./out/FWS-YYYY.MM.DD-x86_64.iso`.
---
## Ce que fait `setup-calamares.sh` (étape par étape)
## Ce que fait `setup-aur.sh` (étape par étape)
1. **Détection environnement** : si lancé depuis Git Bash, bascule dans `wsl.exe -d Arch -u root`.
2. **Patch pacman** : désactive landlock sur WSL (`DisableSandbox`).
@@ -135,11 +136,11 @@ L'ISO finale est générée dans `./out/FWS-YYYY.MM.DD-x86_64.iso`.
4. **`pacman -Syu`** complet (obligatoire — sinon `makepkg` plante sur les "conflicting files" lors des splits de paquets type `gcc-libs`).
5. **Install des outils de build** : `base-devel git`.
6. **Création d'un utilisateur `fwsbuild`** non-root avec `sudo` NOPASSWD (makepkg refuse de tourner en root).
7. **Clone + build AUR** : `calamares` puis `winboat-bin` via `makepkg -s --noconfirm`.
7. **Clone + build AUR** : `winboat-bin` via `makepkg -s --noconfirm`, plus les PKGBUILD locaux de `pkgbuilds/` (deps Anaconda). Calamares n'est plus compilé.
8. **Création du repo local** : `repo-add local-repo/fws-local.db.tar.gz`.
9. **Cleanup** : suppression de l'utilisateur `fwsbuild`.
**Durée** : 1540 minutes (Calamares = ~12 dépendances Qt6 à compiler).
**Durée** : quelques minutes (winboat-bin + deps locales ; Calamares et ses ~12 dépendances Qt6 ne sont plus compilés).
---
@@ -172,11 +173,11 @@ L'ISO finale est générée dans `./out/FWS-YYYY.MM.DD-x86_64.iso`.
| Chemin | Rôle |
|---|---|
| `setup-calamares.sh` | Build Calamares + winboat depuis l'AUR, crée `local-repo/` |
| `setup-aur.sh` | Build des paquets AUR (winboat) + PKGBUILD locaux, crée `local-repo/` |
| `build.sh` | Build de l'ISO via `mkarchiso` |
| `configs/releng/` | Profil principal (base ArchISO releng) |
| `configs/baseline/` | Overlay FWS (Calamares, branding, scripts desktop-init) — **prioritaire** sur releng |
| `local-repo/` | Repo pacman local (généré par `setup-calamares.sh`) |
| `configs/baseline/` | Overlay FWS (surcharge le profil releng) — **prioritaire** sur releng |
| `local-repo/` | Repo pacman local (généré par `setup-aur.sh`) |
| `out/` | ISOs générées |
| `fws/mkarchiso` | Binaire `mkarchiso` embarqué (fork) |
| `scripts/run_archiso.sh` | Lanceur QEMU |
@@ -188,10 +189,8 @@ L'ISO finale est générée dans `./out/FWS-YYYY.MM.DD-x86_64.iso`.
1. Démarrage de l'ISO FWS (BIOS ou UEFI)
2. `systemd` → autologin root sur `tty1`
3. `.zprofile``startx`
4. `.xinitrc` → Openbox + Calamares
5. Utilisateur choisit son bureau (XFCE / KDE / GNOME / Hyprland) via `packagechooser`
6. Calamares installe le système → `shellprocess` appelle `/usr/local/bin/fws-desktop-init-<bureau>` qui installe les paquets et configure le display manager
7. Reboot → connexion automatique sur le bureau choisi
4. `.xinitrc` → Openbox (session graphique du live)
5. **[Chantier C]** lancement de l'installateur Anaconda — pas encore câblé (Calamares retiré au commit 05ae9c3)
---
@@ -200,11 +199,8 @@ L'ISO finale est générée dans `./out/FWS-YYYY.MM.DD-x86_64.iso`.
- **Paquets du live** : `configs/releng/packages.x86_64`
- **Paquets baseline** : `configs/baseline/packages.x86_64`
- **Overlay rootfs** : `configs/releng/airootfs/` ou `configs/baseline/airootfs/`
- **Modules / séquence Calamares** : `configs/baseline/airootfs/etc/calamares/settings.conf`
- **Choix des bureaux** : `configs/baseline/airootfs/etc/calamares/modules/packagechooser.conf`
- **Scripts d'install bureau** : `configs/releng/airootfs/usr/local/bin/fws-desktop-init-*`
- **Kickstart de l'installateur** : `configs/releng/airootfs/usr/share/anaconda/interactive-defaults.ks` (payload liveimg + %post)
- **Branding ISO** : `configs/releng/profiledef.sh` (`iso_name`, `iso_label`, `iso_publisher`)
- **Branding Calamares** : `configs/baseline/airootfs/etc/calamares/branding/fws/`
---
@@ -215,11 +211,8 @@ L'ISO finale est générée dans `./out/FWS-YYYY.MM.DD-x86_64.iso`.
| `Aucune distribution WSL Arch joignable` | Aucune distro Arch n'est installée/joignable. Les scripts auto-détectent désormais toute distro dont le nom contient « arch » (via `wsl -l -q`) ; installe ArchWSL (nom `Arch`) ou `wsl --install -d archlinux`, ou force `ARCH_WSL_DISTRO=NomDeMaDistro`. |
| `WSL introuvable` | WSL n'est pas installé. PowerShell admin : `wsl --install`, puis installe une distro Arch. |
| `pacman: signature unknown trust` | Keyring périmé → `pacman -Sy --noconfirm archlinux-keyring` puis relancer. |
| `makepkg: conflicting files` | `pacman -Syu` incomplet avant le build. Relancer `setup-calamares.sh`. |
| `mkarchiso` plante sur `[fws-local]` | Le repo local n'a pas été généré. Relancer `setup-calamares.sh`. |
| Calamares ne démarre pas dans l'ISO | Sur la VM, basculer en `tty2` (autologin root) et lancer `journalctl -b`. |
| `Calamares Initialization Failed: desktop@desktop` | Module mal configuré dans `settings.conf` — vérifier que la séquence utilise `packagechooser`, pas `desktop`. |
| `Variables manquantes : DESKTOP` | Les `$DESKTOP` dans `shellprocess.conf` sont interprétés par Calamares — utiliser une command substitution `$(cat /run/fws-desktop)` à la place. |
| `makepkg: conflicting files` | `pacman -Syu` incomplet avant le build. Relancer `setup-aur.sh`. |
| `mkarchiso` plante sur `[fws-local]` | Le repo local n'a pas été généré. Relancer `setup-aur.sh`. |
| Écran noir après login Hyprland | Tu testes dans VirtualBox → pas d'accélération GPU. Utiliser QEMU/KVM avec `virtio-gpu` ou bare-metal. |
| Retours à la ligne CRLF | `build.sh` lance `dos2unix` automatiquement, mais si tu modifies pendant le build, relancer. |
@@ -231,7 +224,6 @@ tail -f /tmp/fws-build/work/iso/arch/pkglist.x86_64.txt
# Dans l'ISO (autologin tty1)
journalctl -b
cat /var/log/Calamares.log
# Hyprland post-install
cat ~/.local/share/hyprland/hyprland.log
@@ -254,4 +246,4 @@ FWS est un fork de **[archiso](https://gitlab.archlinux.org/archlinux/archiso)**
Voir [LICENSE](LICENSE) pour le texte complet, et [AUTHORS.rst](AUTHORS.rst) pour la liste des auteurs originaux d'archiso.
Les modifications spécifiques à FWS (scripts `build.sh`, `setup-calamares.sh`, overlay `configs/baseline/`, intégration Calamares + Xorg autostart, chaîne de build WSL) sont également distribuées sous GPL-3.0-or-later.
Les modifications spécifiques à FWS (scripts `build.sh`, `setup-aur.sh`, overlay `configs/baseline/`, intégration de l'installateur + Xorg autostart, chaîne de build WSL) sont également distribuées sous GPL-3.0-or-later.