Customizing a Bootable Linux
A Linux live CD is like a Linux system running from a hard disk, with a few significant differences. It has to be tailored to run from a read-only medium, it usually doesn't (by default) save information across reboots, and it needs to be able to detect and configure hardware each time it starts. Many live CD distributions have created ways of working around these limitations, including allowing you to customize the CD and to save your customizations across reboots.
If you are setting out to create your own customized live CD, or simply save your own custom settings to go with an existing live CD, you have a few ways to go about it:
• Customizing data — Live CD distributions, including KNOPPIX and Damn Small Linux, enable you to save your settings, data files, and even installed applications in a couple of different ways. One approach is to save all your changes to a single archive file to any available writable medium (hard disk, pen drive, and so on), and then restore that archive the next time you boot the CD. Another approach is to create a "persistent desktop" that assigns your home directory and possibly other directories to a writable, mounted file system on your hard disk or other medium. The latter saves your data as you go along.
Live CDs such as SLAX and Damn Small Linux have their own packaging format that consists of tarballs you can store to be added to the live CD. At boot time, you just point the live CD to the Damn Small MyDSL files or SLAX Modules and the archive containing the application is distributed to its proper location in the file system. (See
Installing_MyDSL_Extension from the damnsmalllinux.org/wiki or www.slax. org/modules.php.)
• Remastering — You can make many more changes to a live CD by remastering it. Remastering is typically done by copying the contents of a live CD to a directory on your hard disk (uncompressing the compressed file system), opening that directory in a chroot environment, adding and deleting software as you please, and then packaging it back up into an ISO image. This approach lets you start with a CD that is basically working, while allowing you to fix problems, update software, and add any data you like so it is included on the CD.
• Remastersys — To remaster an Ubuntu live CD, you can use Remastersys scripts (http://remastersys.klikit-linux.com/repository/remastersys). Using these scripts, you will be able to set up a remastering environment from an Ubuntu live CD, make the modifications you want, and create a new ISO image in one process.
• Live CD Projects — Several projects also focus on building live CDs from the ground up. The Linux From Scratch project has its own tools and procedures for building live CDs (www.linuxfromscratch.org/livecd). Linux Live CD/USB scripts (www.linux-live.org) enable you to make a live CD from an existing installed Linux system. (The SLAX distribution is made using Linux Live CD scripts.)
Here are links to information about how to customize several popular live Linux distributions:
• KNOPPIX — A very extensive KNOPPIX remastering HOWTO is available for those who want to create their own custom KNOPPIX distributions. You can find that document here:
To remaster a KNOPPIX CD, you should have at least 3GB of disk space on a Linux (ext2, ext3, xfs, or other) file system along with at least 1GB of available memory (combining RAM and swap space). It's also a good idea to have an active Internet connection during any remastering because there is almost surely some software you will want to download in the process.
• Damn Small Linux (DSL) — This is the Linux distribution I have used the most when I want one that runs efficiently on older computer hardware. DSL does good hardware detection and has a good selection of working desktop applications. I can start with the 48MB ISO image, and then add lots of software and customized features to fill up a CD. In fact, the CD that comes with the book Linux Toys II (Wiley, 2006) is a remastered version of DSL that includes software for building Linux Toys projects as well.
If you simply want to install DSL to a pen drive or other media, DSL offers an automated feature for doing that. After DSL is on a rewritable pen drive, you can easily add applications (using the MyDSL feature) and customize desktop features in a way that persists across reboots.
• Puppy Linux — The project uses its own package management system (called PupGet) that now offers more than 400 packages you can add to Puppy Linux. By adding and deleting these packages, you can create a customized version of Puppy Linux. To see available packages, check out a pet_packages directory from a Puppy Linux mirror site, such as the following:
• Gentoo — Tools for building a potentially more finely tuned live CD are available with the Gentoo distribution. Although creating a Gentoo live CD is supported through the livecd-ng tool, there is currently no complete document describing a simple way to use this, or other tools, to create a custom Gentoo live CD. Here is a link, however, that can get you started:
• Linux Live Scripts — The Linux Live Scripts (www.linux-live.org) can be used to turn an installed Linux system into a Linux live CD. These scripts are used to create the SLAX live CDs. However, the same scripts can be used for other Linux systems as well.
• LiveCD Project — The LiveCD project (http://livecd.berlios.de) is an initiative aimed specifically at creating a live CD from a Linux distribution. Because the tools currently work only on Mandriva and PCLinuxOS, this project is probably a good place to start if you want to produce a live CD that is compatible with either of those distributions. Currently more than a dozen live CD distributions have been created from the LiveCD project.
Of the projects I've just mentioned, I'd recommend starting with a KNOPPIX or Damn Small Linux distribution for your first attempt at remastering. Because a lot of people are using those, or other distributions based on Debian/KNOPPIX technology, mature procedures and forums are available to help you get over any bumps in the road.
Continue reading here: Building a live CD with Fedora
Was this article helpful?