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:
@@ -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** : 15–40 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.
|
||||
|
||||
Reference in New Issue
Block a user