SwitchToLiveBuild
Launchpad Entry: foundations-o-live-build
Created: 2011-05-23
Contributors: ColinWatson
Packages affected: livecd-rootfs, live-build
Summary
Ubuntu live CD builds have always been based on an in-house tool called livecd-rootfs. Since we started Ubuntu, Debian has also been working on live CDs, and has a tool called live-build which is capable of building Ubuntu images as well. There is little sense in maintaining two separate tools, so since live-build is more flexible we should switch to it.
Release Note
Live CD images are now built using live-build, making it easier for users to build customised images.
Rationale
Aside from general flexibility, live-build is also used by Canonical's OEM Services team, so switching to it provides internal benefits as well.
Implementation
The main work involved in switching to live-build is to analyse the differences between a filesystem image created by livecd-rootfs and one created by live-build in detail, and reconcile all of them either by adjusting live-build configuration, by changing live-build itself, or by signing off on the difference as one we don't need to care about.
Following this, we need to invent a way to pass live-build configuration across from the cdimage builder (because the ISO9660 wrapping will still be done on a single central machine, while live filesystems need to be built on machines of the appropriate architecture), and to run the appropriate build commands. For the time being, the BuildLiveCD script in livecd-rootfs will live on as a wrapper script for this, calling lb config and lb build to do the actual work. This may change in the future.