BeleniX - LiveUSB - session/data persistence is here!
By josephgeorge on Aug 27, 2007
Anil just announced it. Pretty neat!
I've been working on adding session persistence on a BeleniX LiveUSB.
The framework is now quite complete and available for testing. Note
that it is still in alpha, but works as advertised on belenix 0.6 and
(To Install, boot into belenix LiveCD, untar the above to a temp dir, and
run the provided 'usbdump'
What does this mean to users?
-The LiveUSB has a Documents icon on the desktop (/root/Documents).
Anything saved to this location is saved on the USB, and will be
available upon reboot.
-The user can choose to record the keyboard type, desktop type, screen
resolution and network configuration data for a particular PC and have
them all automatically selected the next time the USB is booted on
that PC. Each PC can have it's own config so you can easily go from
GRUB to your favorite desktop and network setup without any user
-Additionally many settings made around the system are saved. Firefox
bookmarks and plugins, gaim accounts, thunderbird settings, and
settings of your favorite apps, new files created in custom folders,
etc. All of this is easily configurable by editing the 'profiler.list'
-the save back is implemented using lofi drivers. Once this is
modified to encrypted lofi, this will make for a cool encrypted
liveUSB stick that you can carry out
Download the 'usbdump' script and run it from the belenix LiveCD
environment and follow the onscreen steps. You now have a belenix USB
When you first boot a system, you will be asked the usual keyboard,
desktop and X11 setup config. Here are your options:
-If you are on a PC that you want to save the data changes and various
other settings, run 'session-shutdown' before powering off the PC at
the end of your session.
This will save your keyboard, desktop and X11 settings. You wont be
asked these the nest time you boot up on that particular system. All
the saved data will also be available.
-If you want to configure network on a system, and want it to be
persistent across reboots, run 'networksetup.sh' in a terminal on that
PC, and follow on screen steps. DHCP, DHCP-noNIS and Static IP are
-Everything in /root/Documents is saved and is available across
reboot. This folder can also be accessed using the 'Documents' icon on
-If you do not want to save any settings that you made in the current
session, just poweroff without session-shutdown
Known issues/limitations and near-future improvements
-Encryption! this is the high priority feature to be included to allow
for a secure usb stick along with ubiquitous computing. the change
needed would be to use xlofi instead of lofi.
-The scripts run and work on my machine. I've tried with 3 different
USBs (kingson 1gb, lexar 1gb and kingston 2gb). However, I expect
usbdump to not work on certain USBs. If you have one such, do contact
me so we can fix the issues.
-Currently only /root/Desktop is saved back (loop mounted to
/mnt/saveback/Documents) . This can be (quite easily) extended to
/opt/, /opt/csw and
others and we can add the ability to install apps from repositories
-I have not tried networksetup.sh with wifi or PCs with more than 1
ethernet card. the script may require some modification.
-A better pseudo-PCID for x86 instead of te currently used ethernet MAC id.
Usbdump wont work on PCs without an ethernet device.
-This can also me modified to work with LiveCD, by saving back to the hard disk.
-Scripts need cleaning up/error handling.. if someone wants to work on
them, let me know and I'll push this up on the todo and also post the
-I've left in a lot of 'set -x' in the scripts.. so you will see a lot
of stuff scroll on startup.
I'll write up a blog entry on all the behind the scenes tech stuff
soon and post it.
Once stable and more mature, these changes could go back into the
livemedia project (and Indiana?)
livemedia-discuss mailing list