Tollef Fog Heen: Casper, the friendly little ghost
Everybody who has used an Ubuntu live cd over the last nine months or so
has used casper. It started out as a special udeb, called by the
debian-installer code to bootstrap a live environment. While d-i is
fairly flexible, this was stretching the limits and not really a great
solution. Amongst the problems were user interactivity halfway through
the boot and a very slow boot.
In the middle of December, mdz asked me if I could take a look at
implementing the
SimplifiedLiveCD
specification. As I had played a bit with casper already, I did.
Casper is nothing like what it used to be, it now uses initramfs, so no
user interactivity after the bootloader. It uses unionfs where
available, which speeds it up a fair bit
(compare to
devmapper + cloop), and if the cd image has
squashfs, it uses that too, which makes it even
faster. Boot time improvements from around 368 to
about 231 seconds is fairly good, but I hope to get it even lower.
What I really, really like about casper however is how hackable it is.
I added cd integrity check in less than a day (modulo some bugs in
usplash I had to fix). Today, I integrated it with the new usplash in
initramfs, so we actually have progress in the initramfs as well.
(Instead of "mounting root file system" taking about 40 seconds.)
Another neat feature is the persistence support. It will now look for
filesystems with the label
casper-cow (that will be changed to
ubuntu-live-rw, I think) if persistent is seen on the kernel command
line. This makes it easy to drag your setup around with just an USB key
and any Ubuntu live cd.
Next out is getting keyboard selection better and more speedups.
There is a route from the city centre almost straight to the campus alongside the


