Updated: April 9, 2012
One of the great conveniences of the Linux world is the ability to boot pretty much any distribution into a live session and test the hardware compatibility, look & feel and available software before installing to disk. Some people also use live CD as forensics tools, secure browsing environment or immutable media for testing. Indeed, this last feature is also the great disadvantage of the live CD.
The very name live CD implies something running from optical media. Usually, CD and DVD discs are read-only devices. The information that has been burned onto the plastic layer cannot be changed. This means that any live session is a one-time experience that will be fully discarded on next reboot. But in the last few years, the idea of a bootable live USB has come to life, and it changes everything. In this tutorial, I will teach you how to create bootable USB devices that have an additional writable area for storage of data that will persist across multiple sessions.
Create persistent live USB automatically
I'm going to demonstrate how this is done both in Windows and in Linux. There are many available tools that will do all this for you, automatically.
In Windows, you have the Pendrivelinux Universal USB installer available, a well-proven workhorse. Another very useful cross-platform solution with similar functionality to the Universal USB installer is UNetbootin. For Linux, you could use any of the distro-specific tools shipped with your favorite flavor. Here, we will be using the Startup Disk utility available in Ubuntu.Let's begin with the USB Installer. Start the program and selected the desired distribution image you wish to copy to the USB device. Choose the USB Flash Drive letter. Finally, set the persistent file size for storing changes. The available space will depend on your drive type. Not all Linux distributions support creating persistent live session in this manner, but many do.
Creating a Startup Disk is similar. Again, you will need to choose the source image or even a burned CD containing a distribution, as well as the target device. In this case, you will have to use one of Ubuntu flavors and the USB drive will have to be formatted with FAT32 filesystem. Lastly, if you meet the above criteria, you will be able to save your data into a reserved extra persistence space.
You can also manually configure all this. But you should probably not do that. There's no reason to waste your time, other than education that is. Still, if you're interested, please see the reading section further below.
Basically, it comes down to formatting your USB device with casper-rw filesystem. Another solution is to use your local hard disk by temporarily mounting it, saving data to some directory and then unmounting it, but this defeats the purpose of the all-mobile live USB usage without any dependency on the underlying platform. The last solution it to create an extra partition on your USB device and use it for data storage.
Some extra reading
This is for your enrichment and spiritual growth:
In a way, this is a rather trivial topic, although most people are not aware of the possibility that they can enjoy the best of both worlds - the static privacy, security and consistency of the live session with the ability to preserve data and settings so that they do not have to reconfigure their live CD every time they boot.
The meaning live CD/DVD slightly loses its meaning in this context, as we are talking about running from thumb drives, external hard disks and other storage media. You gain both in capacity and speed, as Flash drives, let alone proper hard disks, are much faster than optical media and can store more data. You also probably gain in reliability, as optical media tends to wear down rather quickly.
Well, there's not much to it. This short tutorial introduces two Windows utilities, one Linux distro-specific tool as a way of demonstration, although pretty much any distribution has its own toolbox, plus one cross-platform solution. All of these will automatically configure your USB drives for live session persistent. That would be all. Enjoy your newly gained flexibility.