Hi, 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 0.6.1.
http://blogs.sun.com/anilg/resource/usbdump-1.9.0.tar.gz (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 interaction. -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' file. -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 How? ===== Download the 'usbdump' script and run it from the belenix LiveCD environment and follow the onscreen steps. You now have a belenix USB ready. 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 currently supported. -Everything in /root/Documents is saved and is available across reboot. This folder can also be accessed using the 'Documents' icon on the desktop. -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 like blastwave). -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 helper scripts. -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?) Anil
