This repository is designed around the antiX/MX live stack (Debian-family bootstrap + a custom initrd that mounts antiX/linuxfs). Arch support is being added using the “B” approach: keep the stage pipeline and ISO layout, but swap Debian-specific tooling for Arch where possible.
- Stage 0: supports
DISTRO_FAMILY=archand usesTemplate/Arch/. - Stage 2: uses
pacstrapto create the root filesystem. - Stage 4 (in chroot): uses
pacman+mkinitcpio, builds anarchiso.img, generates locales, and creates the live user. - Stage 6–8: create an archiso-style ISO layout and build the ISO via
grub-mkrescue(experimental).
- Bootstrap:
debootstrap→pacstrap(fromarch-install-scripts) - Chroot helper:
chroot→arch-chroot(recommended, optional) - Update/install:
apt-get update/install→pacman -Syu/pacman -S --needed - Remove:
apt-get purge/autoremove→pacman -Rns - Package list:
dpkg-query -l→pacman -Qqe(orpacman -Qq) - Initramfs:
initramfs-tools→mkinitcpio -P - Locale:
update-locale→ write/etc/locale.conf+ runlocale-gen
To boot an Arch-based live system, we must implement an Arch-compatible initramfs + boot parameters that can:
- discover the ISO medium,
- mount the squashfs (
antiX/linuxfs) or change the ISO layout to an Arch-compatible one, - set up overlay/persistence (optional),
switch_rootinto the live rootfs.
Practical options:
- Reuse existing antiX initrd: port init scripts to work with an Arch rootfs (busybox, mount helpers,
udev/systemddifferences, library paths). - Embed an archiso-style initramfs: keep this repo’s ISO assembly but adopt archiso init hooks and filesystem layout expectations.
~/mx-remaster/installed-to-live and live-files/* are apt/debconf oriented (repo localization, dpkg prompts). For Arch, only the generic parts are directly reusable:
- bind-mount templating and exclude list generation,
- persistence helpers (after adapting mount/layout expectations),
- squashfs tooling wrappers.
- Debian/MX host needs extra pacman pieces:
pacman-package-manager,makepkg,archlinux-keyring(Debian installs keyrings under/usr/share/keyrings; the builder links them into/usr/share/pacman/keyrings). - Build host has:
pacstrap,pacman,mksquashfs, ISO tool (xorrisoorgenisoimage), bootloader tooling used by this repo. - Stage 2 creates a bootable rootfs:
/etc/pacman.d/mirrorlistexists,pacman -Qworks in chroot. - Stage 4 produces:
LIVE_USERexists,locale-genran,mkinitcpio -Psucceeds, and basic tooling exists (e.g.hostnamefrominetutils). - If pacman reports “could not determine cachedir mount point” or “not enough free disk space”, ensure
/procis mounted in-chroot and there is sufficient free space under/var/cache/pacman/pkg(downloads are large). - If
mountinside the chroot says “failed to read mtab”, create/etc/mtabas a symlink to/proc/self/mounts(the Arch chroot path now does this automatically). - If archiso is installed but
/usr/share/archiso/configs/*/mkinitcpio.confis missing, the builder falls back to a minimal mkinitcpio config that usesarchisohooks (requires thearchisomkinitcpio hooks to be installed in the target). - On some Arch snapshots the mkinitcpio hooks are provided by
mkinitcpio-archiso; the builder will attempt to install it if hooks are missing. - ISO boots in UEFI+BIOS: kernel+initramfs load, live root mounts, login works.
- Core runtime checks on the live system:
pacman -Syuworks, DNS works,journalctlshows no critical boot failures, shutdown/reboot work.