Late update this week, and it’s little more than “hey, I’m still alive”. I’ve been a bit under the weather and spending my discretionary computer time on playing GP Bikes instead of getting anything useful done.

What have we done? We reduced the rotuer configuration from over 16MB to about 11MB by

  • fiddling with hostapd to build it without openssl

  • adding hardeningDisable = ["all"] in the s6 derivation. Haven’t investigated why this works yet, but without this flag, all my binaries - even “hello world” - are 70k or larger.

  • removing the second copy(!) of busybox that the s6 init scripts were using

  • replacing the ISC ntpd with chrony. While I’m sure it would have been possible to make ntp smaller, reports indicate that chrony has a much more “modern” security posture.

Also dicovered that jffs2 doesn’t like being written onto a flash if you only erase the blocks that you’re writing it to: it seems to want the rest of the flash to have been erased as well. That took a bit of figuring out.

More progress next week, I hope.