Lessons
Workflow lessons
- Boot-test every change. All seven bugs surfaced only at boot. Reading scripts finds nothing that booting misses. Every fix went back through QEMU before it counted.
- Audit upstream defaults. The missing mount, the disabled blkid, the i486 CFLAGS, the absent passwd files. None of it was broken. All of it assumed a context this build does not have.
- Stay unprivileged.
fakerootcovers mknod and chown, so the whole pipeline runs as a normal user. No root means no stale root-owned files breaking later runs. - Delete as you go. 12 debug scripts and 32 MB of unused downloads left the tree during the build. Cleanup is part of the build, not after it.
Known limitations
The gaps from the proof page, in priority order: kernel modules first,
then eudev for hotplug (which drops the nozswap nortc workaround),
then persistence and a networking check beyond base boot. Cosmetic
debts last.
What comes next
Three milestones close it out. Rebuild the kernel with modules
installed to the image, loop and squashfs included. Bring up eudev for
hotplug. Then persistence (tce=, opt=) and networking past base
boot.