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
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