Physical SBI-only marker trial — reached the initramfs wait boundary
2026-10-03 UTC. Coordinator worktree
/home/jadams/tmp/k230-mainline-probe-integration, branch
integrate/mainline-probe-path, base e02e553d32eb33e4de6200c4145f075c71e401ba.
Root reserved board/UART for one attempt and released serial when the
controller stopped. Build, private transfer server and camera are released.
Owned paths are this packet and the mainline task progress note.
The matching full bundle staged with RC0. Fresh protected normal preflight passed exact system/profile/ kernel/init, uname 6.6.36, three active services, all eight unchanged files and no registration marker. Volatile U-Boot loads passed byte counts/CRCs and exact printed bootargs before a fresh Linux 7.3.0-rc5 banner. Sole serial console, both exact marker flags and the three original qualified controls were retained; no earlycon/keep_bootcon, clock bypass or observer was added.
python3 tools/mainline-drm-system-trial.py begin \
--bundle /nix/store/brmp1qf9cz65yciazabc8yg5j39nn643-k230-mainline-drm-trial-boot-files \
--manifest ~/tmp/k230-mainline-boot-trace-sbi-only-board/candidate-manifest.json \
--normal-report ~/tmp/k230-mainline-boot-trace-sbi-only-board/normal-report.json \
--state ~/tmp/k230-mainline-boot-trace-sbi-only-board/ordinary-sbi-only-state.json \
--log ~/tmp/k230-mainline-boot-trace-sbi-only-board/ordinary-sbi-only-uart.log \
--result ~/tmp/k230-mainline-boot-trace-sbi-only-board/ordinary-sbi-only-result.json
Exit 1, no ordinary login within 180 seconds. Exactly these five complete public labels were received, with no legacy printk marker:
K230_BOOT_SBI_ONLY_V1 step=basic-setup-enter
K230_BOOT_SBI_ONLY_V1 step=initcalls-enter
K230_BOOT_SBI_ONLY_V1 step=initcalls-exit
K230_BOOT_SBI_ONLY_V1 step=basic-setup-exit
K230_BOOT_SBI_ONLY_V1 step=initramfs-wait-enter
Firmware UART output adds carriage returns to the fixed record newlines.
The first two direct records precede the printed Linux banner in the same
qualified boot phase; filtering only bytes after that banner would lose them.
These records have no kernel-time field. Source’s Unpacking initramfs...
message is present; its alternative Trying to unpack… branch is disabled by
the actual CONFIG_BLK_DEV_RAM unset configuration. No initramfs-wait-exit,
Freeing-initrd message, init-exec or login was observed. Exact artifacts,
raw hash/byte count/timestamps and the privately reviewed dark-panel photo
observation/limits are in result.json. UART stopped receiving
bytes at 20:57:15.514879 UTC (log mtime); the result was saved at 21:00:11.894803 UTC.
No candidate command, guessed reboot or retry followed readiness failure.
Operator reset and normal postflight remain UNVERIFIED pending confirmation
and fresh protected recovery. The preceding candidate’s reset is historical.
What this narrows
Actual realized source is
/nix/store/26hzn5vin6b27cc4mpffc9fn5x8ikwqn-linux-mainline-k230-boot-trace-sbi-only-src.
In init/main.c:1778–1786, basic setup returns before its marker at 1780;
the visible next marker at 1784 proves that preceding SBI call returned and
that execution reached the new diagnostic helper. It does not prove
the last SBI ECALL returned or the actual wait_for_initramfs() at 1785 was
called. There is no diagnostic printk/emergency helper on this enabled path;
normal kernel logging remains active. This is a narrower observed boundary,
not a root cause or a production fix.
init/initramfs.c:773–786 waits for the async rootfs cookie;
:789–796 schedules the worker from a rootfs initcall. Worker
:720–768 handles built-in/external unpacking, security population, initrd
freeing and deferred fput. The visible unpacking printk does not prove that
printk returned, unpacking completed or the worker cookie finished. Thus no
unpacking, scheduler, UART, clock or wait deadlock is established here.
Next source-supported comparison under review
The existing initramfs_async= parser at init/initramfs.c:603–608 accepts
false. initramfs_async=0 still schedules the async worker but waits inside
the rootfs initcall before later initcalls continue. A same-Image volatile
comparison could discriminate overlap with later driver/initcall work; it
would not make unpacking run in the calling task or diagnose a cause.
Read-only audit and meaningful controller argument/guard tests are required
before implementation or another boot. Source-level worker progress and
firmware-return observability remain alternatives after that audit.
Task 5b.5 stays unchecked for ordinary root, usable panel, deliberate glass
and protected return. No archive or shipped-mainline claim is made.
Subsequent operator reset recovery
The user hit reset after this completed attempt. Fresh protected normal postflight passed a different boot ID, exact system/profile/kernel/init, three active services, all eight unchanged files and registration absence. See operator-reset-recovery.json. The bounded Home IPC command returned RC0; the reviewed private camera frame shows normal Home icons, clock and background, with glare/focus/perspective limits. This verifies operator recovery only. The failed mainline login, last-SBI return/wait-entry ambiguity, automatic-return UNVERIFIED and root/glass/ task5b.5 gates remain unchanged. The separately reviewed same-image controller comparison is on master and CI passed; its physical result is not supplied by this recovery packet.