Skip to content

Build your own ISOs

Intro

Scripts in isos/ wrap mkarchiso to produce custom Arch ISOs. Run from the repo root.

Script Purpose
isos/ISOMOD Installer ISO with archinstoo baked in
isos/ISOMOD_CACHE Helper, pre-caches packages from ${A2_ISO_PROFILE}.conf

Configure

Flags (env vars, all optional):

Var Default Effect
A2_LIVE 0 1 swaps the installer ISO for a Plasma live-session ISO (mutually exclusive with A2_MINIMAL)
A2_MINIMAL 0 1 builds a small installer ISO from archiso baseline + network tools (networkmanager, iwd, wpa_supplicant, dhcpcd) + archinstoo runtime deps + all fs tools. Keeps archiso's stock 256M COW. Mutually exclusive with A2_LIVE
A2_LIVE_USER / A2_LIVE_PASS live / live Credentials for the live user (A2_LIVE=1 only)
A2_AUTOLOGIN 1 SDDM autologin into Plasma (A2_LIVE=1 only)
A2_CACHING 0 1 runs ISOMOD_CACHE to bundle extra packages
A2_BCACHEFS 0 Add bcachefs-dkms and a oneshot module-build service
A2_COW_SIZE 1G (A2_LIVE=2G, A2_MINIMAL=stock) COW overlay size; A2_MINIMAL inherits archiso default unless set
A2_THREADS $(nproc) Build parallelism
A2_SILENT_MODE 0 Swallow mkarchiso output
A2_PRECLEAN 0 Wipe prior build artifacts before starting
A2_CLEANUP 1 0 keeps build dirs around
A2_LOG_FILE 1 0 skips the z_isomod_*.log
A2_ELEV sudo Privilege escalation command (doas, etc.)
A2_ISO_PROFILE ISOMOD_CACHE ISOMOD_CACHE reads ${A2_ISO_PROFILE}.conf for the package list

Requires archiso and pacman-contrib if you enable caching. This is a flagship feature that allows for read-only installs (no network).

Don't run as root, scripts elevate when needed. Output goes to isos/a/.

Do read through it (relatively short) to understand what is going on. Process takes 5 minutes depending on selections.

See archiso-releng and archiso-baseline (used by A2_MINIMAL=1).

Size references: Minimal ~550M - Regular ~1.4G - Live ~2G