One of the things that will be new and shiny and exciting in Fedora 9 beta is going to be the support for having your changes persist over reboots when using your live image off of a USB stick. It's an often requested feature and having it should help make the live images even more useful. Most of the hard work in getting this going was done by Douglas McClendon a few months ago and I've finally gotten around to merging it in. But it could definitely stand to have some good solid testing with the beta just to help ensure that it's as good as it can possibly be for Fedora 9 final.
The way it works is pretty simple. Once you've downloaded your live image, you'll also want to grab the livecd-iso-to-disk script either from the web or out of the LiveOS directory of the image. Then, you'll want to plug in your USB stick. Note: a 1 gig USB stick is the minimum, but if you really want to have some space to work with, you probably want to go for a 2 gig stick. Then, run the script with arguments like the following:
# ./livecd-iso-to-disk.sh –overlay-size-mb 1024 /path/to/iso /dev/partition_of_your_usb_stick
If your USB stick is a 1 gig stick, you'll probably want an overlay size of 256 instead of 1024. Then, reboot with the stick, select to use it as your boot device and you should boot up and be using the file on your USB stick as the persistent store rather than a temporary, in-memory store. Big flashing warning — at this point, it should be considered beta — while we don't think you'll lose data, you could. If you do, please let us know how you did so in bugzilla.
There are still a few little improvements that I'd like to make before Fedora 9's release. One of them involves some better verification when setting up your USB stick. Things like making sure you have enough space, etc. Another is a way to “re-initialize” a USB stick without having to use the ISO again. A third is making it more clear to the user whether or not you're running from a session where your changes will persist or if they'll go away when you reboot. And a final thing is the open question of whether we should install based on the _changes_ or from the pristine live image.
As for the gory details of how it works, the live images have always used dm-snapshot to layer a read/write snapshot on top of the read only filesystem image from the disc. This snapshot has been backed by RAM. We've basically just changed things so that instead you're backed by a file on disk. What's been a little tricky has been some of the questions around shutdown, unmounting things, etc. I haven't been able to hit any problems in my testing, but there definitely were some six months ago. Hopefully they were kernel problems which have been fixed 😉
The other thing that was a little tricky was thinking about using an arbitrary device when booted from the live CD. dmc made the (elegant) leap to thinking “well, if you want persistence, just boot off the device that you're being persistent to”. Sometimes, the obvious answers are the hardest to realize 🙂 By doing this, we don't have to worry about some of the things of “did you want to use this changeset from your hard drive on this boot”.