Commit Graph
7 Commits
Author SHA1 Message Date
nmemmertandClaude Sonnet 4.6 5160a30d72 Fix ARM64 ISO: local kernel repo + Image symlink fallback
Dockerfile.arm64: after pre-downloading linux-aarch64, build a local
pacman repo from the cached package using repo-add so mkarchiso can
install the kernel from file:// without touching the [alarm] mirror.

entrypoint-arm64.sh: put [alarm-local] first in the profile pacman.conf
so pacstrap always resolves linux-aarch64 from the baked-in repo.
Also add a symlink fallback in customize_airootfs.sh: ALARM aarch64
may install the kernel as /boot/Image instead of /boot/vmlinuz-linux-aarch64;
the symlink ensures archiso's vmlinuz-* glob and systemd-boot both find it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 12:05:15 -04:00
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 62c484e0ce Fix ARM64 preset conflict: write linux-aarch64.preset in customize_airootfs
Writing the preset to the airootfs overlay caused a file conflict when
pacstrap installed linux-aarch64 (which ships its own copy of the file).
Move the preset override into customize_airootfs.sh which runs after
pacstrap, so the package installs cleanly then we replace the preset.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 11:50:51 -04:00
nmemmertandClaude Sonnet 4.6 fffc7508f7 Fix ARM64 pacman.conf: SigLevel = Never for mirror reliability
ALARM mirrors inconsistently serve .db.sig files — some mirrors return
404 for core.db.sig which aborts the pacstrap. SigLevel = Never is
standard practice for Docker-based archiso builds.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 11:46:42 -04:00
nmemmertandClaude Sonnet 4.6 56031c8c6f Fix ARM64 ISO build: pacman.conf repos, kernel preset, mkinitcpio
Three fixes for the 'vmlinuz-* not found' failure:

1. Override releng profile's pacman.conf to add [alarm] and [aur] repos.
   linux-aarch64 lives in [alarm] — without this the kernel package was
   silently missing from the airootfs and /boot was empty.

2. Remove linux.preset from releng airootfs (references vmlinuz-linux,
   the x86_64 kernel name that doesn't exist on ALARM).

3. Add linux-aarch64.preset to the airootfs with an 'archiso' preset entry
   (ALL_kver=/boot/vmlinuz-linux-aarch64, archiso_image=initramfs-linux-aarch64.img).
   mkarchiso looks for this 'archiso' preset to build the live initramfs.

4. Switch customize_airootfs.sh from mkinitcpio -P to mkinitcpio -p linux-aarch64
   so only the aarch64 preset runs (not the stale x86_64 linux preset).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 11:45:31 -04:00
nmemmertandClaude Sonnet 4.6 58446c1f32 Remove archiso from ARM64 live package list
archiso is not in ALARM repos for aarch64 — pacstrap fails trying to
install it into the live ISO root. The Docker build environment already
has mkarchiso installed from source; the live ISO doesn't need it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-24 11:35:04 -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