Files
k.rennerandClaude Fable 5 dbe8efdc62 images: build edge-host ISO in an archlinux container
mkarchiso against the host repos fails on Manjaro (no archinstall/
reflector, linux is a virtual package) — releng needs real Arch repos.
Split the profile assembly into build-inner.sh and run it in
archlinux:latest (--privileged for pacstrap's bind mounts); verified
build on the Manjaro workstation. gitignore the ISO output dir.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 12:34:13 +02:00

22 lines
685 B
Bash
Executable File

#!/usr/bin/env bash
# Build the edge-host installer ISO inside an Arch container.
# Building must happen against real Arch repos — a Manjaro (or any
# non-Arch) host can't feed mkarchiso, so the container is the default
# and only path. Needs docker; --privileged because pacstrap bind-mounts
# into the chroot.
# ./build.sh [output-dir]
set -euo pipefail
here="$(cd "$(dirname "$0")" && pwd)"
out="${1:-$here/out}"
mkdir -p "$out"
docker run --rm --privileged \
-v "$here:/src:ro" \
-v "$out:/out" \
archlinux:latest /src/build-inner.sh
echo
echo "ISO in $out — write it with:"
echo " sudo sh -c 'cp $out/edge-host-*.iso /dev/sdX && sync' # USB stick, NOT the NVMe"