LiveCD from scratch workshop

Just came back from a long day workshop organized as part of the IITC 2005 Conference. Myself, Anuradha and Chamath undertook the almost impossible task of a, "less than a day" workshop, consisting of several integrated interruptions (ie. lunch, tea breaks), to cover a relatively advanced subject, to a relatively inexperienced GNU/Linux user, and still managed to pull it off - somewhat!

Now that I'm done patting our selves in the back, I'd like to say that it was extremely fun :) After all, there is really nothing like going under the hood and getting some "machan (grease)", on a Saturday morning tinkering with Linux. For those who missed it, we had a small crowd (that is too small to mention), but made it much easier to managed and give personal attention to each attendee. Here is a summary of tasks we managed to cover:


  • Presentation on the Linux kernel's boot process, from the BIOS all the way upto the runlevels, both during a normal hard drive boot and during a Live CD boot.
  • Install Taprobane GNU/Linux, using the cfdisk->mkfs->cp -a method
  • Create an initrd using mkinitrd and use it as a prototype to build a modifiable initrd
  • Hack the initrd's /linuxrc script to drop us to a shell and play with a world before the BigBang - /sbin/init
  • Presentation on using Squashfs and UnionFS to provide write support anywhere
  • Creation of a squashfs file system using out live running system
  • Creating the final iso and testing it using qemu


Unfortunately, our iso booted only half way before panicing, by which time we were out of time for debugging. Despite this, I hope, the attendees had a lot of fun, hacking away.

Updated: