Daily shell image build — 3f397a6
This is the original build-host record. The image was subsequently deployed; launcher evidence records its fresh boot and application checks.
Source and command
- Source:
3f397a66f6e5cfeedbc13d49b289e574157ce962(3f397a6, detached clean worktree). - Command:
nix build .#sdImage --out-link resultdaily --option substituters https://cache.nixos.org/ --option max-jobs 1 --option cores 8 --print-build-logs. - Result: exit status 0. Nix reported 22 derivations built. The foreground build session took about 82 seconds.
Output
- Image:
/nix/store/x0qz7ibmyb1bbmx1cpwgryxapkzisb0m-k230-sd-image.img - Image size:
2308689920bytes. - Full SHA-256:
797d3fdf1e9901c6cf5d219a75c902e0cae12b951c9582514042535837d4b0a6. - Toplevel:
/nix/store/mp5llx58dcpnikfdwn455pyrygdvggbg-nixos-system-nixos-26.11.20260919.20b1ddd. - Closure of the image output, including the image file:
3590915736bytes. - System toplevel closure:
1280743192bytes (nix path-info -S), separate from the image-output closure above.
The generated MBR has a 112 MiB boot partition at sectors 8192..237567 and
the root partition at sectors 262144..4507111. Extracting the boot partition
and listing it with read-only debugfs found Image, initrd.uimg, the DTB,
and OpenSBI, and found no logo.xrgb. This matches the daily
panelConsole = true no-logo workaround; it is not a display claim.
Stage 1 and handoff ABI
- Stage 1:
/nix/store/r7lvl2ddpm86p8cly5gcrnil58biyzsa-k230-stage1. fn_u-boot-spl.bin:fe3d537f62c34a3d01127c58fef4caec50f0e65b0192670712ecb1599584a954.fn_ug_u-boot.bin:e0b5787f3e68267f997ca61d45afaf8945e6fe9be775cc6165f981978cf3f1bb.env.env:cf108755a3cf3a8070a2f0ded84af672108e2301dfd58e5c2aa6a7555dbbd352.fw_jump.bin:74d08f8701dc72ea166d74be62fc3e5bff437d7c73ab68ad2f113cab289c38f9.fw_jump_add_uboot_head.bin:9627edbeea9b115d7040beea27cc61b23b6aca61cd502fd7760d7ee179f42c99.
The source-built U-Boot output is
/nix/store/zzz867rp8drrwkhibj0rlqc04sk9g7f8-uboot-k230_canmv_v3_defconfig-riscv64-unknown-linux-gnu-2022.10.
strings u-boot finds canaan,stage1-splash, confirming that the 0005
runtime-handoff property is present in this build. The property can only be
validated on a board when a successful stage-1 splash path reaches Linux.
Routine flashing policy
On 2026-09-22 the user requested that routine flashes stop repeating full
image readback now that the path has repeatedly passed it. tools/ums-session.py
therefore defaults to checking write completion and normal Linux return;
--full-readback explicitly enables the full device comparison for diagnosis.
Target identification and card-size checks still run before a write.
For this deployment, the write succeeded and the already-running comparison
was intentionally interrupted at the user’s request. The subsequent boot
is recorded separately; this attempt is not labeled a readback pass.