fix(arm64): override piCore64's BusyBox with host's static busybox
piCore64 v15.0.0 ships BusyBox built with ARM instructions that QEMU virt cannot emulate even under -cpu max — applets like mkdir, uname, readlink SIGILL on first invocation (el0_undef in the panic trace). mount works because piCore's busybox.suid happens to use a different code path. Fix: when building the arm64 rootfs, replace piCore's bin/busybox and bin/busybox.suid with /bin/busybox from the build host (Ubuntu's busybox-static, statically linked, built for generic ARMv8-A). Also add busybox-static to Dockerfile.builder so the Docker-based build flow has the same fallback available. Long-term: source a known-good ARM64 BusyBox build (Alpine, or our own from upstream BusyBox) so we don't depend on the build host's package manager. Tracked as future work. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
apparmor-utils \
|
||||
gcc-aarch64-linux-gnu \
|
||||
binutils-aarch64-linux-gnu \
|
||||
busybox-static \
|
||||
git \
|
||||
kpartx \
|
||||
unzip \
|
||||
|
||||
Reference in New Issue
Block a user