Storage failure after Omawrite installation
A later user report said Omawrite would not launch and application icons were missing. The reserved physical serial console confirmed repeated SD read failures and a read-only root filesystem. Bash and systemctl could not load from the Nix store. This supersedes any assumption that the earlier passing trial describes the current board state; the earlier trial remains a historical observation.
Procedure and limits
The coordinator held /tmp/k230-board.lock and used tools/console.py on
/dev/ttyACM0 at 115200. Ordinary external diagnostic commands failed, so the
existing console shell read /proc/mounts and /dev/kmsg with Bash builtins.
Only storage-related lines were retained above; protected raw captures remain
outside the repository. The filter omits identifiers and unrelated messages.
A normal systemctl reboot failed with an input/output error. The running
kernel did not provide /proc/sysrq-trigger, so sync/remount/reboot requests
through that interface had no effect. A physical power cycle was requested.
During that diagnosis, no filesystem repair, remount-write, image flash or
full-card readback was performed. The reason the SD stopped responding remains
undetermined; these observations do not distinguish a card, power, connection
or driver problem.
Replacement card and preserved demo image
Power cycling and reseating did not restore boot output. The original card then reported zero capacity through the USB reader, which could not read its medium. A different card reported 64,088,965,120 bytes through the same reader. Its first two FAT partitions contained readable vendor/demo files; its third FAT partition reported an invalid cluster and was made read-only by Linux. These are separate cards and separate failure observations.
The user authorized preserving the replacement demo card before replacing it
with our current NixOS image. All three partitions were unmounted first. The
exact backup command read every source byte without errors,
fsynced the saved image, then independently reread and hashed the saved file.
The result records matching SHA-256 and byte counts.
The full private image, checksum, source identity and restoration notes are at
~/tmp/k230-demo-card-20260927T203725Z/. Only reviewed metadata is committed here.
The backup preserves existing filesystem corruption; it is not a repaired image.
The F3 capacity probe passed: usable and announced sizes both equal 125,173,760 sectors. It restored its sampled blocks; independent samples at the beginning, middle and end then matched the verified backup. The probe result preserves the exact command and completion time. This checks capacity, not every possible future failure.
Replacement NixOS image written
The sdImage-coherent build completed successfully from source revision
c985854979325057727a825294d8a0d34b26a4f1. Changes after runtime revision
4db47bc0117378efa120c17679a1cea8d506949e were evidence/documentation only.
The build command was:
nix build .#sdImage-coherent --out-link result-sd-image-coherent \
--max-jobs 4 --cores 6 \
--option substituters https://cache.nixos.org/ --print-out-paths
The output is /nix/store/ijdsbmb6mzhlsbr32yyqpzzpq0pz7rxa-k230-sd-image.img,
4,765,401,088 bytes, SHA-256
86bf43dd943a6208a0b253318b7fa8344defef33ac3e0236275777be2471fdd1.
It contains system
/nix/store/cmhsqwvzwp3bad15wv5znk4w35wx65d5-nixos-system-nixos-26.11.20260919.20b1ddd.
A host inspection confirmed that system’s init, Omawrite desktop entry and
profile icon exist; the entry references the expected absolute Omawrite path.
This is packaging evidence, not a successful launch on the replacement card.
The preflight checked the approved removable USB
slot, capacity, unmounted state, image partition layout and samples matching
the preserved demo backup. The writer saved a separate
nixos-replacement.img beside demo-card.img, fsynced it and verified its hash
before invoking the repository’s tools/flash.sh with the approved by-id path.
Both image hashes are in the private directory’s SHA256SUMS.
The flash result and write completion
record exit zero, the complete byte count and completion at
2026-09-27T22:59:46Z. dd oflag=sync conv=fsync and the writer’s final sync
completed. The reader was then powered off successfully with udisksctl.
No routine full-image readback was performed, per the user’s standing request.
First boot on the replacement card
The operator reinstalled the card and reconnected power. The first-boot
result records a physical serial observation of the expected
system at /run/current-system, /dev/mmcblk1p2 mounted read-write as the
root filesystem, the shell runtime socket, the installed desktop entry and the
Omawrite SVG icon. The exact serial commands were readlink /run/current-system, cat /proc/mounts | head -n 4, ls /run/shell,
test -f /run/current-system/sw/share/applications/k230-editor.desktop, and
ls /run/current-system/sw/share/icons/hicolor/*/apps/omawrite*.
UNVERIFIED: activating Omawrite from the on-screen launcher, the resulting window map and icon rendering on glass. Presence of the desktop and icon files does not establish that launcher behavior. No new application or shell source change was made during this recovery.