Skip to main content

Spin up a Linux LiveCD

A no-install approach to running or demonstrating Linux

David Mertz (mertz@gnosis.cx), Developer, Gnosis Software, Inc.
David Mertz has fond memories of using Yggdrasil Linux, long before anyone ever thought of distributing Linux on CD media. You can reach David at mertz@gnosis.cx; you can investigate all aspects of his life at his personal Web page. Check out his book, Text Processing in Python. Suggestions and recommendations on past or future columns are welcome.

Summary:  Many Linux® distributions have been designed as so-called "LiveCDs," CDs that can be booted directly into working Linux systems. In contrast to "rescue mode" bootable options available with most widely used distributions, these LiveCDs are designed to provide a full set of working tools when booted from CD. Some are general-purpose, some highly specialized. David Mertz takes a look at this fast-growing segment of the Linux market.

Date:  28 Jul 2004
Level:  Introductory
Activity:  3554 views

LiveCD distributions of Linux are several years old, but the number of such distributions has multiplied several times in the last year or two. In large part, specialized LiveCDs, nowadays, are derived from the very successful Knoppix distribution from LinuxTag. Novel LiveCD distribution -- much like new Linux distributions generally -- package different software collections for different groups of users, and fine-tune configuration and setup details to meet the ideas of their creators.

There are dozens, if not hundreds, of LiveCD distributions available now; obviously, I cannot cover them all in this article. The most popular focus of LiveCDs is probably general-purpose office software bundles, particularly aimed at showing off Linux to new users. At the edges, however, other distributions aim at more specialized purposes, such as system clustering, rescue CDs, firewalls, or security tools. In many cases, the more specialized distributions are also smaller, since they leave off most general-audience tools.

Booting Linux from CD

For this article, I looked at four popular general-audience distributions: Knoppix, Slax, Mepis, and GoboLinux. The last, however, while in most ways being an office/Internet/games general-purpose distribution, was created in greater part to demonstrate some novel ideas about file system layout. I also looked at three more specialized LiveCDs: Feather Linux is general purpose, but extremely compact in size; EVMix is based on StrongBox, and includes mostly special software from the EVM2003/Open Voting Consortium project I work with; IPCop is another small LiveCD that is devoted to creating Linux-based firewalls.

For most of these distributions, I'll describe each in its own section. However, I'll comment on IPCop briefly here. At a svelte 22 MB ISO, I was excited to try out a tiny, specialized Linux LiveCD. Unfortunately, I was a bit disappointed by my try at booting IPCop; it is not a criticism of the distribution itself, but of my expectations. IPCop is only nominally a LiveCD distribution -- while it does boot into a Linux system, the only thing you can really do from there is install the system onto a hard-disk. In this respect, IPCop is similar to any other installable Linux distribution -- most of which also enable you to select a minimal shell for administrative functions. The screenshots of IPCop in action look interesting, but once I determined I needed to use my HDD, I felt further testing was outside the scope of this review. My hunch is that a number of other advertised "LiveCDs" are likewise only nominally so.

By the way, in this review, I looked for what was obvious or easy to do -- I am sure that other things are possible beyond what my passing efforts accomplished. In particular, I comment on topics like whether a distribution makes it easy to save configurations between boots or can install itself to HDD. I am sure that with sufficient manual effort I could do those things in all the distributions, but I looked for a prominent menu item or instruction about performing those actions.

Knoppix 3.4

Knoppix is the most well-known LiveCD distribution, so looking at it first makes a good baseline. Knoppix 3.4 (2004-05-17) squeezes as much as it can onto a CD, coming in at a 690 MB ISO image (be sure to buy 700 MB CD-Rs rather than the 650 MB ones). As the size suggests, Knoppix bundles together a large collection of tools, both developer- and office-focused ones. The tools I looked at were all current, but not bleeding edge: Linux kernel 2.4.26; KDE 3.2.2, OpenOffice.org 1.1.1; Gimp 2.0; Python 2.3.4c1. Knoppix tends to throw in overlapping programs, which might confuse new users: Which of the ten text editors do I want? Should I browse using Mozilla or Konqueror? Then again, those choices are ones that experienced users have strong feelings about; Knoppix sticks to OpenOffice.org for its office suite, and skips KOffice, which some distributions include.

Booting Knoppix is immediate, without requiring any user intervention to get to a working KDE desktop. All my hardware (on a few-year-old PIII) was recognized happily, including my 1280x1024 flat-panel monitor and matching mode on my nVidia TNT2 video card. The default user is knoppix, but I found that I could su without any password -- probably a compromise between security and user-friendliness. Simply issue the passwd command to rectify this, since passwordless accounts should never be allowed to exist on systems.

All the general-purpose distributions I tried used KDE as a window manager (in fact, all were at 3.2.2). There were some differences in configuration details, such as which icons were placed on the panel, what theme was selected, and what click mode (single/double) to use. I am not the fondest of Knoppix' choices here: single-click, Keramik theme; but this is purely personal and easily changed. Knoppix also throws in several other window managers, but switching among them seems to break the X11 configuration.

On more functional matters, Knoppix includes an excellent and prominent "Save Knoppix Configuration" tool. You can save the elements you like about your setup: home files, network setup, X11 configuration, printer, and so on -- to floppy or HDD partition. Knoppix also automatically mounts all my HDD partitions on the desktop, including the HPFS partitions on my OS/2 desktop that I used for testing. There were a few options for "Install Software" to the running system, but beyond the limited list, apt-get complained of read-only installation directories if I tried adding other applications (if there is a way around this, it is not obvious to me). In contrast to some distributions, Knoppix does not offer a prominent option to install itself to a HDD.

Mepis 2004

Mepis is a similar distribution to Knoppix, but with a dual purpose of serving as an installable distribution as well as a LiveCD. Like Knoppix, Mepis is a stuffed-full CD, and in fact comes with a second (non-live) CD of extras. Mostly, the collection of tools on Mepis is similar to those on Knoppix. The LiveCD has a bit less for developers and a bit more for office users. For example, both OpenOffice.org and KOffice are included on the LiveCD; but few programmers' editors and development IDEs are included.

In contrast to Knoppix, Mepis includes a nice application to install itself to HDD, but lacks tools to save LiveCD configurations or to dynamically install extra software while the LiveCD environment is running. Really, Mepis' goal is to allow you to try before you install, rather than to create a portable runtime environment that does not need any permanent installation at all. However, the Mepis LiveCD environment is perfectly usable as-is, and you can easily save any documents or files you modify to other media. Mepis does not automatically mount all the HDD partitions it finds, but it includes an icon on the desktop to mount partitions (without requiring users to know arguments for the mount command). Like Knoppix, Mepis happily mounted both my HPFS partitions (read-only) and my ext2/3 partitions (read/write).

The boot sequence for Mepis is a bit different than that of Knoppix. On the plus side, Mepis gives you a navigable text menu to choose the kernel version (I tried 2.6, but 2.4 was available too). Of mixed value was the ability (and requirement) to choose screen resolution and a few other configuration options. All presented with friendly scrollable menus, but Knoppix didn't need to ask at all. Then again, most of the rest of the distributions assumed I wanted to run X11 at 1024x768 rather than 1280x768 -- I'd rather get the choice than have the CD get it wrong. One minor glitch in Mepis is that the passwords for the root and demo accounts it sets up are not displayed during bootup, nor documented in the top README file. It only took me a few tries to guess that the root password was "root," but it was a guess.

SLAX 4.1.2

SLAX is a LiveCD based on Slackware, and probably in keeping with the Slackware philosophy, it is relatively minimal in size. SLAX 4.1.2 fits in a 188 MB ISO, which apparently is small enough to be written to an 8 cm miniature CD (by design). SLAX does a good job of selecting a useful software collection for office- or home-oriented users, largely by eliminating the redundancy in larger distributions. For example, SLAX gives you KOffice, but not OpenOffice.org, and Konqueror, but not Mozilla. It also does not provide Python, Perl, or Ruby -- definitely not targeted at developers.

Booting SLAX is pretty simple. Like Knoppix, it shunts boot options off to switches you can type at the boot: prompt in the few seconds before it launches into the default. And it uses a 2.4 kernel. After the basic Slackware boot sequence, SLAX displays the root password ("toor") and explains things you can launch from the command line: (gui for KDE; guifast for Fluxbox; midnight commander; X11 using fallback framebuffer; save/restore configured settings to floppy).

Once I typed gui, I found my first minor glitch. I was only given a 1024x768 screen. What to do? I knew enough to edit /etc/X11/XF86Config to set new resolution options, but new users are unlikely to think of this. I also figured out that gui would take a --help switch that led me to X11 resolution switches. None of this was obvious for folks unfamiliar with Linux. Ah well, it is Slackware.

Once inside X11 and KDE, I really liked the configuration options. I also liked the Plastik theme SLAX chooses (despite the slight resemblance to WinXP), and double-click behavior on the Desktop and in Konqueror feels more natural to me. I also found the custom icons on the panel to have a somewhat playful look to them -- in keeping with the fact that most were for multimedia, IM, games, and Web browsing (the set may come from somewhere else, but I still like the choice). My HDD partitions were all auto-mounted (including HPFS), but were not placed on the desktop to clutter it. I also found that Control Center used a bit different navigation metaphor than I was used to; this is probably not a SLAX-specific change, but just an option I had not seen. Rather than a collapsible tree of configuration categories, each category had a "Back" icon to move up a level. It seemed more new-user-friendly that way.

SLAX is clearly aimed at new users and "selling" Linux to those who do not know it. The appearance pushes that; but so does the absence of options to install to HDD or install more applications into the runtime image. It is just a moderate-sized ISO you can send around, or quickly press onto CDs, giving users a good first impression of Linux (and enough tools to get some real work or play done during the trial).

GoboLinux 011

To a new user, it is a lot like Mepis or Knoppix. A full CD of software is included, again based on kernel 2.4.26 and KDE 3.2.2. The applications are most of those you would expect, with perhaps less attention paid to category coverage and duplication. And even a bit worse than SLAX, the only way I could figure out to get the right X11 resolution was to manually edit /etc/X11/XF86Config.

GoboLinux is weak in some small points: no auto-mount of partitions, and apparently no HPFS support (ext3 mountable from the command-line); no "save settings;" no dynamic install; and, worst of all, GoboLinux did not recognize my network.

The "selling point" of GoboLinux is not really that it is such a good LiveCD (though it will presumably get more polished with time). Instead, it is GoboLinux' novel idea about the Linux file hierarchy. Following a similar pattern to what Mac OSX has layered on FreeBSD roots, GoboLinux creates root directories /Depot, /Files, /Mount, /Programs, /System, and /Users. Where necessary, GoboLinux uses symlinks to put files in its hierarchy in places where other tools expect them to be. But in the inherent file structure -- again, much like Mac OSX -- each application occupies its own directory, rather than being thrown together in /usr/bin or /usr/local/bin.

For example, the FireFox browser executable is at /Programs/FireFox/Current/bin/firefox. Deleting or installing applications (which is not necessarily one-to-one with executables) is just a matter of unpacking or deleting branches to the file system tree. Naturally, installing the LiveCD boot to HDD is rather straightforward, and GoboLinux gives you such an option.

The concept that GoboLinux advances is not bad, but the distribution itself needs more polish.

Feather Linux 0.51

Feather Linux goes farther in the direction that SLAX suggests. In less than 64 MB, Feather packs in a basic Linux system with a minimal Web browser (Dillo), word processor (Ted), window manager (Fluxbox), and a few other applications. Feather Linux is small enough to fit on a compact flash card also, which is an even more compact way to carry around a Linux distribution. Of course, as someone old enough to remember running WordPerfect 5.1 from floppy disks and 2 MB of RAM, fitting a much less sophisticated word processor into 64 MB is not exactly awe inspiring (admittedly with a moderate number of other applications, too) -- but it is good by 2004 standards.

Feather Linux does a bit less auto-detection of hardware than most live distributions; I'm not sure if that is because the code has been trimmed out, or to allow more control of configuration by experienced Linux users. Fortunately, configuration is done using navigable text menus, so making a few choices is not difficult -- but it does require more knowledge of your hardware than new users are likely to have. On the plus side, you can save Feather configuration to flash, HDD, or floppy; and you can also install a running Feather system to hard disk. Beyond the 64 MB basic system, a decent number of extra applications are set up to be installable over a network -- while a Feather system is still running.

Overall, Feather Linux is a nicely put together distribution, but it is distinctly for experienced Linux users. No new user could ever love Fluxbox -- even though I know a number of old hands who swear by Fluxbox' parent, Blackbox.

EVMix 0.1.5

EVMix is unique among the distributions I have looked at, in several ways. Even the name is not necessarily fixed in stone yet. Let me give some brief background. The EVM2003 project is a SourceForge-hosted project to develop voting machine software that uses wholly free software, and whose machines produce a voter-verifiable paper ballot. The project answers a lot of problems that exist with current proprietary "touchscreen voting" machines. I am a developer for and architectural advisor to this project.

One of the special requirements for voting machines is that you really want them to be running exactly the same software that has been certified for use in elections. No slipstream patches; no "maintenance releases;" no "trust Microsoft's latest security update;" for that matter, no software on the machine at all that is not there for a specific and necessary reason. The best way we have thought of to make the certification-level release control happen is by releasing the software on LiveCDs (CD-Rs only, no CD-RWs). A poll worker can run an MD5 hash on the whole disk image, and make sure that it has exactly the right software set -- from OS and drivers on up through the right Python interpreter and correct voting applications.

An EVMix CD contains several applications, each with somewhat different toolchain requirements. Liam Helmer, creator of StrongBox, proposed a StrongBox-based system. Each of our components -- touchscreen, "ballot reconciliation," reading-impaired audio interface, and vote aggregation -- can run its own virtual system.

StrongBox represents a shift in the Linux paradigm. Moving away from monolithic systems, where everything runs together, StrongBox is a fully modular Linux distribution. It incorporates a small RAM-based OS and toolset for administration and security functions, and then allows applications bundles, built using any Linux distribution, to run on top of it. Each of these bundles, running in a secure virtual context (signed with x.509 keys), has a large level of independence from the base OS. This secure partitioning allows StrongBox to have some powerful features. OS versioning, rollbacks, automated hardware detection, fault-tolerant boot process, easy migration from server-to-server, and the ability to incorporate other Linux distributions and existing installations are key features.

Using virtual servers, digital signatures on all OS components, and a large number of read-only pieces in the OS, StrongBox is highly resistant to security breaches. Also, it has virtual boot medium-independence, meaning that it can run with little or no changes from CDRom, compact flash, USB, SCSI, and so on. This independence makes StrongBox ideal for the secure deployment of embedded systems, computing clusters, enterprise Linux deployments, secure Web servers, PBX systems, and kiosk systems.


Conclusion

LiveCD distributions are useful for several purposes. One often-touted purpose is a "try before you implement" capability. To me, probably of even greater significance is an ability to run a known software set on multiple machines, without worrying about variations in precise installed library and tool versions.

Most of the LiveCDs I looked at do a good job of enabling you to store settings and user data to a variety of media -- whether local or networked. Moreover, I was pleasantly surprised at the relative ease of installing additional software during runtime on most LiveCDs.


Resources

About the author

David Mertz has fond memories of using Yggdrasil Linux, long before anyone ever thought of distributing Linux on CD media. You can reach David at mertz@gnosis.cx; you can investigate all aspects of his life at his personal Web page. Check out his book, Text Processing in Python. Suggestions and recommendations on past or future columns are welcome.

Comments (Undergoing maintenance)



Trademarks  |  My developerWorks terms and conditions

Help: Update or add to My dW interests

What's this?

This little timesaver lets you update your My developerWorks profile with just one click! The general subject of this content (AIX and UNIX, Information Management, Lotus, Rational, Tivoli, WebSphere, Java, Linux, Open source, SOA and Web services, Web development, or XML) will be added to the interests section of your profile, if it's not there already. You only need to be logged in to My developerWorks.

And what's the point of adding your interests to your profile? That's how you find other users with the same interests as yours, and see what they're reading and contributing to the community. Your interests also help us recommend relevant developerWorks content to you.

View your My developerWorks profile

Return from help

Help: Remove from My dW interests

What's this?

Removing this interest does not alter your profile, but rather removes this piece of content from a list of all content for which you've indicated interest. In a future enhancement to My developerWorks, you'll be able to see a record of that content.

View your My developerWorks profile

Return from help

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=1
Zone=Linux, Open source
ArticleID=15035
ArticleTitle=Spin up a Linux LiveCD
publish-date=07282004
author1-email=mertz@gnosis.cx
author1-email-cc=

My developerWorks community

Tags

Help
Use the search field to find all types of content in My developerWorks with that tag.

Use the slider bar to see more or fewer tags.

Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere).

My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Use the search field to find all types of content in My developerWorks with that tag. Popular tags shows the top tags for this particular content zone (for example, Java technology, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere).

Rate a product. Write a review.

Special offers