From 31aac701db69e4d93115d093e68d0b6aa2487924 Mon Sep 17 00:00:00 2001 From: Adolfo Delorenzo Date: Thu, 14 May 2026 15:47:55 -0600 Subject: [PATCH] debug(arm64): use /dev/vda4 directly instead of LABEL=KSOLODATA piCore64's blkid/findfs binaries (separate util-linux dynamics, NOT busybox symlinks) crash in QEMU virt with the same instruction-abort issue as the broken BusyBox. The host's static busybox doesn't include blkid/findfs applets either, so stage 20-persistent-mount.sh segfaults in a loop trying to resolve LABEL=KSOLODATA. Short-term: hardcode /dev/vda4 (the virtio data partition under QEMU) so the boot can progress past stage 20 and we can see what else needs fixing. Pre-v0.3 release we need to either: a) ship a real blkid/findfs binary that works (util-linux from upstream, statically built), or b) avoid LABEL= entirely and detect the data partition by walking /sys/class/block looking for our ext4 magic+label. Either way the LABEL= path needs to work on real ARM64 hosts where the device path varies (vda/sda/nvme0n1). Co-Authored-By: Claude Opus 4.7 (1M context) --- build/grub/grub-arm64.cfg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/grub/grub-arm64.cfg b/build/grub/grub-arm64.cfg index 34ee0e9..76562e4 100644 --- a/build/grub/grub-arm64.cfg +++ b/build/grub/grub-arm64.cfg @@ -64,13 +64,13 @@ fi menuentry "KubeSolo OS (${slot_label})" { echo "Booting KubeSolo OS from ${slot_label}..." echo "Boot counter: ${boot_counter}, Boot success: ${boot_success}" - linux /vmlinuz init=/sbin/init kubesolo.data=LABEL=KSOLODATA console=ttyS0,115200 console=ttyAMA0,115200 + linux /vmlinuz init=/sbin/init kubesolo.data=/dev/vda4 console=ttyS0,115200 console=ttyAMA0,115200 initrd /kubesolo-os.gz } menuentry "KubeSolo OS (${slot_label}) — Debug Mode" { echo "Booting KubeSolo OS (debug) from ${slot_label}..." - linux /vmlinuz kubesolo.data=LABEL=KSOLODATA kubesolo.debug console=ttyS0,115200 console=ttyAMA0,115200 + linux /vmlinuz kubesolo.data=/dev/vda4 kubesolo.debug console=ttyS0,115200 console=ttyAMA0,115200 initrd /kubesolo-os.gz } @@ -88,6 +88,6 @@ menuentry "KubeSolo OS — Boot Other Slot" { set root='(hd0,gpt2)' echo "Booting from System A (passive)..." fi - linux /vmlinuz kubesolo.data=LABEL=KSOLODATA kubesolo.debug console=ttyS0,115200 console=ttyAMA0,115200 + linux /vmlinuz kubesolo.data=/dev/vda4 kubesolo.debug console=ttyS0,115200 console=ttyAMA0,115200 initrd /kubesolo-os.gz }