The Fedora community got its first official live CD last month. Based on Fedora Core 6, it shows off the best of what Fedora has to offer. Furthermore, the tools used to put together the CD make creating and maintaining custom Red Hat or Fedora-based live CDs simple.
The live CD comes as a 684MB ISO that supports only the i386 architecture. The compressed filesystem holds about 2.3GB of applications — a fraction of applications and utilities in the five-CD set that makes up Fedora Core 6. It runs Linux kernel 2.6.18 and the latest stable GNOME (2.16) and X.org (7.1). There’s no cosmetic difference between the live CD and FC6 apart from wallpaper that reflects its time of release.
The GNOME panel includes the NetworkManager utility, which is turned on by default. NetworkManager ensures smooth transition from one network to another while moving between fixed and wireless networks. To further assist people moving about in the field, the live CD also contains VPN connectivity software. It’s configurable with a plugin integrated in the NetworkManager. “My manager actually used it in an airport from his laptop where the hard disk had just broken down,” reports David Zeuthen, lead developer of the live CD.
The CD has a read/write filesystem that lets users get a taste of how software and updates are managed in Fedora with Pirut (add/remove software) and Pup (software updater). The new software are saved in RAM and are lost once the computer is restarted.
Bundled software includes AbiWord for word processing and the Gnumeric spreadsheet. OpenOffice.org had been part of a beta release, but was removed to free up space for all the input methods of Smart Common Input Method (SCIM) and all the application and user interface translations that are included in FC6, making the live CD usable for non-English-speaking users.
How does the Fedora live CD compare with Ubuntu 6.10, which is distributed as a live CD that can be installed onto a hard disk from within the live environment? The Fedora live CD is currently missing the installation feature, but a graphical installer is under development. You can still use the live CD to partition disks with GParted and analyze mounted disks with Baobab. By default, the live CD doesn’t mount any partitions, and until you mount one manually, GParted will crash on startup.
On the image processing and management side, both Ubuntu and Fedora live CD have FSpot, GThumb, and the GIMP. The Fedora live CD also bundles the Inkscape vector graphics editor and several dozen fonts. To play music and video files, it bundles the Rhythmbox CD player and Totem Movie Player. The Ubuntu live CD also include the Serpentine Audio CD creator, Sound Juicer CD Extractor, and a sound recorder.
Both live CDs include the Firefox Web browser, Evolution email client, and Gaim instant messenger. The Fedora live CD also has the XChat IRC client. It features Beagle desktop search and AIGLX and Compiz for 3-D desktop effects, if you have hardware that supports them.
The Fedora live CD runs in SELinux’s targeted mode and includes the useful SELinux troubleshooter application that debuted in FC6. It lacks the desktop version’s Xen virtualization support. Also lacking are some administration tools for detecting sound cards, configuring network cards, and setting up firewalls.
More than just a live CD
In the announcement of the live CD’s release, Zeuthen mentions the live CD tools that were used to create the CD, which have been submitted to the Extra repository. Zeuthen, as part of his work for the One Laptop Per Child project, developed Pilgrim, which creates system images that can run off USB flash drives. The tool used for creating the final release is a rewrite of Pilgrim in Python. It can be used for creating live CDs out of Red Hat Enterprise Linux, CentOS, and other downstream Fedora distributions.
The procedure to create a live CD using the livecd-tools is well documented. All that is required is a package that defines what RPMs are to be included in the live CD and what kind of system configuration is to take place once the live environment is up and running. Today Zeuthen offers three such packages, each of which refers to a different flavor of live CD: Fedora-livecd is a minimal live CD with no UI, fedora-livecd-gnome is a live CD with a GNOME desktop, and fedora-livecd-desktop is a live CD with a GNOME desktop and lots of applications.
Further, the system provides an inheritance scheme, so fedora-livecd-desktop builds on top of fedora-livecd-gnome, and fedora-livecd-gnome builds on top of fedora-livecd. So, if you wanted to create an Eclipse live CD, for example, you could create a fedora-livecd-eclipse package that builds on top of fedora-livecd-gnome. To do so, you’d copy the fedora-livecd-desktop bits and then edit the configuration file to include the Eclipse-related packages instead of some desktop ones.
This fedora-livecd-eclipse RPM becomes a package itself that is versioned and can be maintained over time. So for Fedora 7, the fedora-livecd-eclipse would pull in certain packages, and later on in Fedora 9 it would pull in some packages, depending on the current Eclipse at the time. This will allow the Fedora Eclipse community to maintain this fedora-livecd-eclipse RPM without having to coordinate with the live CD developers.
“This is really enabling, and empowers the various special interest groups in Fedora to do live CDs to showcase their work. For example, it’s not unreasonable that the Fedora Music community might do their own live CD,” Zeuthen says.
And surprisingly, the live CD tools will also help package maintainers. As per the live CD roadmap, there are plans to pump out daily live CD builds of the Fedora development tree, called rawhide. If there are dependency problems with packages in rawhide, the live CD won’t get built, making the problem immediately obvious. Zeuthen thinks that this will encourage maintainers of broken packages to fix problems quickly.
Several developments in the pipeline
What’s already good is going to get better. The upcoming graphical installer for the live CD will use code from Fedora’s Anaconda installer so as to work on different architectures.
Currently there’s no provision for persistent storage that would let users save changes to the live CD environment. Zeuthen says a feature to store changes to a USB disk is under consideration. Also, the discussions on the Fedora live CD mailing list hint that a live DVD and a version that runs off pen drives may someday be released.
The current live CD is very usable. Its package selection makes it an ideal starting point for a new Linux user. It doesn’t have OpenOffice.org and uses the freed up space intelligently to include SCIM and translations that’ll allow it to reach more users. Still a few more GUI configuration tools (for network and firewall) wouldn’t hurt.
As for the tools, that’s where all the action is going to be. By helping individual developers maintain small configuration packages separate from Fedora, the tools bring more logic and order to the process of creating live CDs. The Vietnamese Open Source Software Community have created a custom live CD using the livecd-tools called FCone which includes OpenOffice.org, the Xfce desktop environment, and several “non-free” packages and codecs. As the tools mature and become popular, expect several respins.