Debian Live build tool for torouter

This is a ticket for feedback/discussion.

I wrote an experimental torouter image builder using Debian Live (live.debian.net; specifically the live-build tool). It currently generates debian wheezy Live SD card images that boot on the DreamPlug (after a u-boot upgrade and configuration) from either a compressed read-only squashfs filesystem or a read-only ext3 filesystem. This was motivated out of frustration with the freedom-maker build scripts.

A few kernel mangling steps are hardware-dependent, but otherwise the entire build system should be able to generate images for any debian supported architecture. NB: debian armel binaries run on the Raspberry Pi, but with reduced performance. It might be possible to point live-build at the raspberian apt repositories to build more efficient raspberian images.

The old torouter build process uses the freedom-maker tool (from FreedomBox) to generate a debian image for the DreamPlug hardware, then (automatically) uses the torouter-prep package to install torouter-specific customizations. The Debian Live system could also accept a torouter-prep package for torouter configuration, but it currently does not.

An example image and readmes are online here; this image has lots of known bugs and leaky problems, and is intended only a demonstration of functionality:

image: http://ficus.robocracy.org/pub/images/torouter-live_dreamplug_squashfs_20121125.img

docs: http://ficus.robocracy.org/?p=torouter-live.git;a=tree;f=doc;h=2b3fe19919378a05f3ab93ad4241d93c656aa5ef;hb=HEAD

Some thoughts on using Debian Live images:

  • the live-build configuration system is extensive, documented, modular, and scriptable, especially compared to freedom-maker

  • "normal" (eg, with a read/write rootfs and minimal first-boot reconfiguration) images should be buildable with the live-build tool

  • live-build tool has some bugs and documentation holes w/r/t armel and non-squashfs builds

  • helper scripts for live-build exist to automate weekly image builds and on-demand image builds with configuration (eg, web interface to a build cluster)

  • persistence (including optional encrypted persistence) should work with little additional configuration

  • TAILS uses live-build with heavy customization

See also ticket #6824 (closed) w/r/t upgrade and release process.

Trac:
Username: ficus