rpi: add boot diagnostics and remove quiet for debugging
Remove 'quiet' from RPi cmdline.txt so kernel probe messages are visible on HDMI. Add comprehensive diagnostics to the data device error path: dmesg for MMC/SDHCI/regulators/firmware, /sys/class/block listing, and error message scanning. This will reveal why zero block devices appear despite all kernel configs being correct. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -173,7 +173,7 @@ CFGTXT
|
|||||||
|
|
||||||
# cmdline.txt — kernel command line
|
# cmdline.txt — kernel command line
|
||||||
# Note: must be a single line
|
# Note: must be a single line
|
||||||
echo "console=serial0,115200 console=tty1 kubesolo.data=LABEL=KSOLODATA quiet" > "$MNT/cmdline.txt"
|
echo "console=serial0,115200 console=tty1 kubesolo.data=LABEL=KSOLODATA" > "$MNT/cmdline.txt"
|
||||||
|
|
||||||
# Copy kernel as kernel8.img (RPi 3/4/5 ARM64 convention)
|
# Copy kernel as kernel8.img (RPi 3/4/5 ARM64 convention)
|
||||||
cp "$KERNEL" "$MNT/kernel8.img"
|
cp "$KERNEL" "$MNT/kernel8.img"
|
||||||
|
|||||||
@@ -58,11 +58,33 @@ esac
|
|||||||
|
|
||||||
if [ ! -b "$KUBESOLO_DATA_DEV" ]; then
|
if [ ! -b "$KUBESOLO_DATA_DEV" ]; then
|
||||||
log_err "Data device $KUBESOLO_DATA_DEV not found after ${WAIT_SECS}s"
|
log_err "Data device $KUBESOLO_DATA_DEV not found after ${WAIT_SECS}s"
|
||||||
# Show available block devices for debugging
|
# Comprehensive diagnostics for block device failure
|
||||||
log_err "Available block devices:"
|
log_err "=== Block device diagnostics ==="
|
||||||
ls -la /dev/mmc* /dev/sd* /dev/vd* 2>/dev/null | while read -r line; do
|
log_err "--- /dev block devices ---"
|
||||||
|
ls -la /dev/mmc* /dev/sd* /dev/vd* /dev/nvme* 2>/dev/null | while read -r line; do
|
||||||
log_err " $line"
|
log_err " $line"
|
||||||
done
|
done
|
||||||
|
log_err "--- /sys/class/block (kernel registered) ---"
|
||||||
|
ls /sys/class/block/ 2>/dev/null | while read -r line; do
|
||||||
|
log_err " $line"
|
||||||
|
done
|
||||||
|
log_err "--- dmesg: MMC/SDHCI/emmc ---"
|
||||||
|
dmesg 2>/dev/null | grep -i -e mmc -e sdhci -e emmc | while read -r line; do
|
||||||
|
log_err " $line"
|
||||||
|
done
|
||||||
|
log_err "--- dmesg: regulator ---"
|
||||||
|
dmesg 2>/dev/null | grep -i regulator | while read -r line; do
|
||||||
|
log_err " $line"
|
||||||
|
done
|
||||||
|
log_err "--- dmesg: firmware/mailbox ---"
|
||||||
|
dmesg 2>/dev/null | grep -i -e 'raspberrypi' -e 'mailbox' -e 'firmware' | while read -r line; do
|
||||||
|
log_err " $line"
|
||||||
|
done
|
||||||
|
log_err "--- dmesg: errors ---"
|
||||||
|
dmesg 2>/dev/null | grep -i -e 'error' -e 'fail' -e 'unable' | while read -r line; do
|
||||||
|
log_err " $line"
|
||||||
|
done
|
||||||
|
log_err "=== End diagnostics ==="
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user