danos/system
Daniel Samson d446ddd2ed
boot: survive hand-written sticks — case-fold the /system walk, skip host litter
The loader ENUMERATES /system now, so it sees whatever the stick's
directory entries literally store — and a hand-copied stick differs
from our generated image: firmware returns bare 8.3 short entries
UPPERCASE (INIT, SYSTEM), and host OSes leave litter next to every file
(macOS '._' AppleDouble forks, .fseventsd). Verified in QEMU/OVMF: an
uppercase-stored volume booted to a dead kernel-only system before this
change and boots fully (display up, logger writing /var/log) after.

The walk now lowers ASCII names (the danos tree is canonically
lowercase; FAT lookups are case-insensitive by definition), skips any
dot-prefixed entry, and treats malformed or unreadable entries as
skip-this-file instead of abort-the-whole-walk. Reader.find compares
case-insensitively as belt and braces.
2026-07-21 18:01:12 +01:00
..
devices display: pace the frame clock by the panel's EDID refresh rate 2026-07-21 11:37:29 +01:00
drivers Merge branch 'claude/shm-runtime-meaning-4fce7c' 2026-07-21 17:27:39 +01:00
kernel Merge branch 'claude/shm-runtime-meaning-4fce7c' 2026-07-21 17:27:39 +01:00
services Merge branch 'claude/shm-runtime-meaning-4fce7c' 2026-07-21 17:27:39 +01:00
abi.zig Merge branch 'claude/shm-runtime-meaning-4fce7c' 2026-07-21 17:27:39 +01:00
boot-handoff.zig boot: the /system tree is the system image — loader-built ramdisk, spawn by path 2026-07-21 14:47:26 +01:00
initial-ramdisk.zig boot: survive hand-written sticks — case-fold the /system walk, skip host litter 2026-07-21 18:01:12 +01:00
parameters.zig USB driver stack: xHCI transfers, HID keyboard/mouse, mass storage 2026-07-13 14:11:00 +01:00
vfs-protocol.zig vfs: the root moves into the kernel — resolve + redirect cutover 2026-07-21 16:27:06 +01:00