Skip to content

Lessons

Workflow lessons

  1. 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.
  2. 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.
  3. Stay unprivileged. fakeroot covers mknod and chown, so the whole pipeline runs as a normal user. No root means no stale root-owned files breaking later runs.
  4. 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.