Commit Graph
8 Commits
Author SHA1 Message Date
nmemmertandClaude Sonnet 4.6 4a4f3ddba5 ARM64: add boot diagnostics + pre-cache linux-aarch64 in Docker image
- Add ls/pacman -Q diagnostics in customize_airootfs.sh so we can see
  exactly what is (or isn't) in /boot after pacstrap
- Pre-download linux-aarch64 in Dockerfile with pacman -Sw so mkarchiso
  can install it from the local pacman cache even if the [alarm] mirror
  is unreachable at ISO-build time

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 11:57:33 -04:00
nmemmertandClaude Sonnet 4.6 b2688ea446 Fix ARM64 archiso install: copy files directly, skip man page build
'make install' fails because rst2man (python-docutils) is not installed
and we don't need man pages in a container. Manually install just the
three things mkarchiso needs: the mkarchiso script, run_archiso, and
the configs directory.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 11:27:52 -04:00
nmemmertandClaude Sonnet 4.6 5b540afd85 Fix ARM64 build: explicit mirrorlist + archiso from source
archiso is not packaged for aarch64 in ALARM repos — install from the
upstream GitLab source with PREFIX=/usr so mkarchiso lands in /usr/bin.

Also:
- Set mirrorlist explicitly (ALARM tarball ships with a stale/empty one)
- Add archiso runtime deps: mtools, dosfstools, libisoburn, squashfs-tools,
  arch-install-scripts, e2fsprogs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 11:20:18 -04:00
nmemmertandClaude Sonnet 4.6 983932a40b Fix ARM64 Dockerfile: use HTTP for ALARM tarball download
os.archlinuxarm.org has a TLS cert mismatch (cert SAN doesn't cover the
hostname). ALARM officially distributes over HTTP, not HTTPS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 11:15:50 -04:00
nmemmertandClaude Sonnet 4.6 218d4a58be Fix ARM64 Dockerfile: bsdtar extraction + explicit SHELL for merged-usr
- Use libarchive-tools (bsdtar) instead of BusyBox tar to extract the
  ALARM tarball; bsdtar correctly preserves the /bin → usr/bin symlink
  that is part of ALARM's merged-usr filesystem layout
- Verify /usr/bin/bash exists after extraction so download failures are
  caught loudly instead of producing a silent empty rootfs
- Add SHELL ["/usr/bin/bash", "-c"] in stage 2: Docker's default RUN
  invocation looks up /bin/sh, which requires the symlink to be resolved
  in the container init — using the absolute path bypasses that entirely

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 10:58:54 -04:00
nmemmertandClaude Sonnet 4.6 396016e69a Fix ARM64 Dockerfile: two-stage build from official ALARM tarball
Stage 1 (alpine/arm64) downloads the official Arch Linux ARM rootfs via
curl — Docker caches this layer so it only runs once. Stage 2 (scratch)
COPYs the extracted filesystem in, then builds OrionOS natively in that
ALARM environment.

Also fixes DisableSandbox placement (insert into [options] section via
sed, not appended to file end where it lands in [aur] and is ignored).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 10:51:22 -04:00
nmemmertandClaude Sonnet 4.6 8f60d6f8b9 Fix ARM64 Dockerfile: switch to lopsided/archlinux base image
menci/archlinuxarm:aarch64 doesn't exist on Docker Hub.
lopsided/archlinux is a maintained multi-arch image with native arm64 support.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 10:46:21 -04:00
nmemmertandClaude Sonnet 4.6 b9d7123d60 Add ARM64 ISO build for Apple Silicon / UTM
- iso/docker/Dockerfile.arm64: Arch Linux ARM base (menci/archlinuxarm:aarch64)
- iso/docker/entrypoint-arm64.sh: ARM64 archiso profile — linux-aarch64
  kernel, EFI-only boot (no syslinux), aarch64 squashfs path, spice-vdagent
  for UTM clipboard, VirtIO GPU modesetting config
- build-iso-arm64.sh: docker buildx --platform linux/arm64 wrapper;
  runs natively on Apple Silicon, no QEMU emulation needed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 10:43:33 -04:00