The recent success of the ASUS Eee PC has shown that running Linux from flash memory is now commercially viable in the consumer market. If you don't have an Eee PC, you can still run Linux from a humble USB flash disk, which will hold not only Linux but also your data. Several Linux distributions run from flash; here's how some of them compare.
Some Linux distributions, such as Mandriva Flash, are specially designed to work from flash devices. Some provide installers to get them onto thumb drives, while others can be coerced onto a USB flash drive with some simple modifications. I tested five Linux distributions -- Damn Small Linux (DSL), Puppy Linux, Pendrivelinux, Ubuntu, and Mandriva Flash -- to see how they fare running from a flash disk.
Of the five, only Ubuntu doesn't offer a native method for getting it to run from flash, while Pendrivelinux and Mandriva Flash are designed to run exclusively from flash. The five Linux distributions can be divided into two classes: the small, compact distributions (DSL and Puppy Linux), which are less than 100MB in size, and the full-blown distributions (Mandriva, Pendrivelinux, and Ubuntu).
Small is beautiful
Both DSL and Puppy Linux are small and don't have huge system requirements. DSL can run on a 468DX with only 16MB of RAM, although this feature is of dubious utility because it would be hard to find a 486DX machine that could boot from a USB device. These two distributions aim to be small yet versatile with flexible boot and install options. They're also fast, because they load the whole OS and applications into RAM.
DSL is a 50MB download and boots from a live CD. Once booted, you can install it to a USB drive using the Pendrive install application (Apps -> Tools -> USB-HDD Pendrive). The text-based installer runs in a command window. DSL detected and installed to my flash drive without any problem.
DSL is handy as a recovery tool that enables you to boot a broken machine and copy valuable data from it. It uses the lightweight JWM window manager, which should be easy to learn for those who are used to a "Start" button (labeled DSL in this case). DSL tries to be feature-rich and contains many standard types of applications, such as a music player, a couple of Web browsers, a word processor, and a spreadsheet. With the exception of Firefox, they're all specialized, small applications, but DSL is extendable using the myDSL Extension Browser. With the packages in its community repository you can add some of the more popular software to DSL, including OpenOffice.org. DSL is a marvel to look at, has potential for expansion, but it isn't as strong as some alternatives as a serious, portable desktop.
Like DSL, Puppy Linux is a small download (less than 100MB) and boots from a live CD. Once you boot the CD, you're up and running with the whole OS and file system loaded into RAM, which means that Puppy isn't always pulling files off the CD. To install to USB flash, use the Puppy universal installer, which can cope with almost any USB flash disk, regardless of whether it's unpartitioned or using the wrong boot flags. However, the downside is that the installation process can be quite complicated. The installer does a good job of trying to explain what's going on, but you will need to know how to work with disks and partitions if the need arises; for example, if the flags are wrong on a partition, the installer will fire up GParted for you to fix it rather than correct the problem automatically.
The recently released version 4.0 is a great improvement over its predecessor and using the JWM window manager it offers AbiWord 2.4.6 as a word processor, the Gnumeric 1.7.13 spreadsheet, Sylpheed 2.4.7 for email, and Mozilla SeaMonkey 1.1.8 for Web browsing and other integrated Internet applications. Puppy Linux also has a package manager called PETget that automatically connects to the official Puppy repository and offers additional software to install. Currently the 4.0 repository doesn't offer OpenOffice.org but I was able to install it from the version 3.0 repository.
One possible problem with Puppy Linux is that your data isn't immediately saved to the flash drive. As you're working, the files you create and edit are saved to memory, but that memory copy is only written to the flash disk periodically or during the shutdown process. There is also a Save button on the desktop to force a write to the flash disk. This intermittent saving can leave a window for losing files.
Pendrivelinux is both a Linux distribution for USB flash disks and a comprehensive Web site with lots of articles and information on getting Linux running from a flash disk.
Amongst the articles on the Web site are a couple on installing Pendrivelinux from Linux and from Windows. Pendrivelinux doesn't come as a live CD; instead, you need to be up and running in Windows or in Linux. The installation process involves downloading a .zip file and then making the USB flash drive bootable (either with a batch file supplied for Windows or by using syslinux on Linux). I originally tried installing it from Linux, but it wouldn't boot, so I switched to using Windows, and things went better, with one minor wrinkle. I was using Vista, and I had to run the batch file to make the USB flash disk bootable under the Administrator account. If you run it under a normal account, even one that has Administrator rights, the batch file will fail.
Pendrivelinux is comprehensive. The .zip file is just under 500MB in size. It includes many of the popular Linux programs, and such as a full KDE desktop. Based on Mandriva 2007.1 (via the folks at MCNLive), it comes with persistent file changes (using a 256MB loop file), KDE 3.5.6, and Firefox 220.127.116.11. It doesn't come with OpenOffice.org, but relies instead on KOffice. It includes support for 3-D desktop effects; with a few clicks, you can get a 3-D cube representation of your virtual desktops, wobbly windows, and transparency.
The lack of OpenOffice.org could be limiting, as KOffice's ability to import and export to popular Microsoft and OpenOffice.org file formats is limited, but otherwise, Pendrivelinux is an excellent USB flash-drive Linux distro that you could use daily.
Ubuntu doesn't come with an easy way to install it to a USB flash disk, but the Pendrivelinux Web site has an article about how you can shoehorn it onto a flash device. The fairly complicated procedure requires 21 steps. You will need to use command-line tools like syslinux, mkfs.ext2, and apt-get, so the process isn't for the novice. However, if these commands don't frighten you, then it's worth trying.
Once it's installed, you have a normal full Ubuntu system. The OS takes 750MB of your flash disk; whatever is remaining is for your files and documents. Because it's Ubuntu, you get a whole host of software, including the latest versions of GNOME, OpenOffice.Org, Firefox, and so on.
There is one problem with Ubuntu on flash, and it isn't really a technical one. Whenever I used it, I felt uneasy because I knew Ubuntu wasn't designed to run from a flash drive. After a time, my fears were realized. One time, for no apparent reason, the disk would no longer boot, and I was forced to reinstall the operating system. After the reinstall, all seemed fine, but later GNOME had problems starting, and I kept getting an error message about some files being unwritable. At that point, I gave up.
This is not a bad reflection on Ubuntu, but rather a warning about the dangers of trying to force complicated software to reside where it wasn't designed to be.
Mandriva sells a specialized version of its Mandriva Linux One distribution called Mandriva Flash. It is an excellent Linux distribution for running from flash. However, there is one downside: you need to pay for it. It costs $69 (or €59), but what you get for your money is a 4GB USB flash disk, one month of Mandriva support, free shipping, and access to a rescue CD should you accidentally crash your USB key.
Mandriva Flash is a complete Linux desktop on a USB key. It comes with KDE 3.5.7, OpenOffice.org 2.2.1, Firefox 18.104.22.168, Skype, and Java 6. Like Pendrivelinux, it comes with the impressive 3-D desktop and a tool to help you import your Windows documents and settings. It uses the standard Mandriva RPM format for package management, which means that there are lots of additional package available on the Internet.
Using Mandriva Flash is easy, especially if you're already used to Linux. I was able to download Google's Picasa for Linux and install it without any problems. I connected my digital camera and was able to import all my photos.
Another neat trick unique to Mandriva Flash is that if you plug the USB flash disk into a Windows machine, all of your documents will be available there too. Anything you copy over to the USB key will also be available in Linux the next time you boot it, thanks to the way Mandriva use the flash disk. The first time you boot Mandriva Flash you choose how much space to use for system files and how much is reserved for user files.
The inclusion of essential software like OpenOffice.org makes Mandriva Flash a prime candidate for running Linux from a USB flash disk. You can take your OS and data with you everywhere you go.
Of the two mini distros, I found DSL more useful because of the neater user interface and simpler install process. If you're looking for a complete Linux desktop on a USB flash disk, then Mandriva Flash is the clear winner. But if you don't want to spend money for your operating system, then you should consider Pendrivelinux.