docs: rework all pages to Artix Wiki quality
- index.md: add download link + stable release announcement - building.md: add troubleshooting section (cache, squashfs, compression) - ci.md: IA upload enabled, push trigger removed (manual dispatch only) - development.md: add all gotchas from AGENTS.md (SDDM theme ordering, pipewire launcher, antergos-release in basestrap, CI changes) - installer.md: document fixed issues (audio, SDDM, os-release) - packages.md: add pipewire fork, antergos-sddm-theme, antergos-release - launcher.md: expand with module configs - init-systems.md: Chimera uses dinit, OpenRC marked as broken - openrc.md: add broken warning banner - wallpapers.md: default is antergos-wallpaper.png (not Adwaita Morning) - overlays: clean up explanations and symlink behavior - desktop-environments.md: add Discover note, clean up GNOME entry - dinit.md, runit.md, s6.md: polish and add troubleshooting sections
This commit is contained in:
+84
-7
@@ -6,7 +6,7 @@ nav_order: 2
|
||||
|
||||
# Building the ISO
|
||||
|
||||
Requires an **Artix-based** system with `artools` and `squashfs-tools`.
|
||||
The ISO is built with `buildiso` (from Artix `artools` package) plus a customized profile. You need an **Artix-based** system to build.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
@@ -15,6 +15,8 @@ pacman -S artools squashfs-tools
|
||||
modprobe loop
|
||||
```
|
||||
|
||||
`squashfs-tools` is needed for `mksquashfs`. The `loop` module must be loaded for `mount -o loop` during image assembly.
|
||||
|
||||
## Clone and configure
|
||||
|
||||
```bash
|
||||
@@ -28,30 +30,105 @@ mkdir -p ~/.config/artools/pacman.conf.d
|
||||
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
|
||||
```
|
||||
|
||||
Without this override, `buildiso` uses `/usr/share/artools/pacman.conf.d/iso-x86_64.conf` (from the artools package), which lacks the `[antergos-pkgs]` repository. The build will then try to fetch our custom packages (branding, Calamares config, wallpapers) from Artix repos and fail.
|
||||
|
||||
## Build
|
||||
|
||||
```bash
|
||||
sudo -E ./buildiso -p antergos
|
||||
```
|
||||
|
||||
> **⚠️ Use `./buildiso`, not `buildiso`.** The Artix system `/usr/bin/buildiso` lacks the `--overwrite='*'` flag, causing file conflicts between `calamares` and `calamares-branding-antergos-next` (both claim `/usr/share/calamares/branding/default/`). Our repo's `./buildiso` has it.
|
||||
- **Use `./buildiso`**, not `buildiso`. The system `/usr/bin/buildiso` lacks `--overwrite='*'`, which causes file conflicts between `calamares` and `calamares-branding-antergos-next` (both claim `/usr/share/calamares/branding/default/`). Our repo's `./buildiso` has it.
|
||||
- **`sudo -E`** is required. Without `-E`, `WORKSPACE_DIR` is stripped and `load_profile()` returns empty `HAS_LIVE`/`LIVEUSER`, causing the build to fail early.
|
||||
|
||||
## Output
|
||||
|
||||
The ISO appears in `/var/lib/artools/buildiso/iso/antergos/`.
|
||||
The ISO appears in `/var/lib/artools/buildiso/iso/antergos/`:
|
||||
|
||||
First build pulls ~5 GB from the internet. Subsequent builds use pacman cache. Go make a coffee. Or two. Maybe three.
|
||||
```
|
||||
/var/lib/artools/buildiso/iso/antergos/
|
||||
├── antergos-<date>.iso # Bootable ISO
|
||||
└── antergos-<date>.sha1sum # Checksum
|
||||
```
|
||||
|
||||
First build pulls ~5 GB from the internet (package downloads). Subsequent builds use pacman cache.
|
||||
|
||||
## Environment variables
|
||||
|
||||
| Variable | Purpose |
|
||||
|----------|---------|
|
||||
| `WORKSPACE_DIR` | Must point to repo root. `buildiso` looks for profiles under `$WORKSPACE_DIR/iso-profiles/` |
|
||||
| `COMPRESSION` | Squashfs compression type (e.g. `zstd`). If unset, `mksquashfs` fails silently with a zero-size image |
|
||||
| `COMPRESSION` | Squashfs compression type (e.g. `zstd`, `gzip`, `xz`). If unset, `mksquashfs` produces a zero-size sparse file instead of a valid squashfs |
|
||||
|
||||
## Custom packages repo
|
||||
## Troubleshooting
|
||||
|
||||
The ISO pulls branding, Calamares config, and wallpapers from our custom repo. To use it on your system:
|
||||
### "File conflict" errors during build
|
||||
|
||||
This means `--overwrite='*'` is not being passed to `basestrap`. Make sure you're using the repo's `./buildiso`, not the system one:
|
||||
|
||||
```bash
|
||||
# Wrong — system buildiso without --overwrite:
|
||||
buildiso -p antergos
|
||||
|
||||
# Correct:
|
||||
./buildiso -p antergos
|
||||
```
|
||||
|
||||
### Build fails with "HAS_LIVE is empty"
|
||||
|
||||
Forgetting `sudo -E`:
|
||||
|
||||
```bash
|
||||
# Wrong — WORKSPACE_DIR not preserved:
|
||||
sudo ./buildiso -p antergos
|
||||
|
||||
# Correct:
|
||||
sudo -E ./buildiso -p antergos
|
||||
```
|
||||
|
||||
### buildiso can't find our custom repo
|
||||
|
||||
The pacman config override is missing:
|
||||
|
||||
```bash
|
||||
mkdir -p ~/.config/artools/pacman.conf.d
|
||||
cp pacman.conf.d/iso-x86_64.conf ~/.config/artools/pacman.conf.d/
|
||||
```
|
||||
|
||||
### Zero-size squashfs (ISO exists but is tiny)
|
||||
|
||||
`$COMPRESSION` is unset. Either set it in `profile.yaml` or pass it via environment:
|
||||
|
||||
```bash
|
||||
export COMPRESSION=zstd
|
||||
sudo -E ./buildiso -p antergos
|
||||
```
|
||||
|
||||
Remove the stale image before retrying:
|
||||
|
||||
```bash
|
||||
rm -rf /var/lib/artools/buildiso/iso/antergos/
|
||||
```
|
||||
|
||||
### Corrupted pacman cache
|
||||
|
||||
If `basestrap` fails with checksum errors, clear the cache:
|
||||
|
||||
```bash
|
||||
rm -rf /var/lib/artools/buildiso/pkg/antergos/cache/
|
||||
```
|
||||
|
||||
Then rebuild.
|
||||
|
||||
## CI builds
|
||||
|
||||
The CI pipeline (`.github/workflows/build.yml`) handles all of the above automatically. It runs in an Artix container, sets `WORKSPACE_DIR`, overrides pacman config, mounts a 12 GB tmpfs, and uploads the resulting ISO to the Internet Archive.
|
||||
|
||||
Trigger CI manually from the GitHub Actions tab (push trigger is disabled).
|
||||
|
||||
## Local pacman repo
|
||||
|
||||
To use the custom packages repo on an installed system:
|
||||
|
||||
```ini
|
||||
[antergos-pkgs]
|
||||
|
||||
Reference in New Issue
Block a user