Sunday, March 22, 2009

Debian Live LXDE persistent mode

I was very happy that Debian Lenny had Live LXDE Desktop CD. I had tried it briefly earlier. Today I decided to use the persistent mode i.e. changes saved in live-rw file and used on reboot.

As always I copied the contents of Debian Live LXDE iso to a 1 GB partition and edited /boot/grub/menu.lst to make following entries:
title Debian Live LXDE
root (hd0,7)
kernel /live/vmlinuz1 boot=live union=aufs ip=frommedia swapon timezone=Asia/Kolkata persistent noprompt
initrd /live/initrd1.img
Explanation of boot parameters:
boot=live union=aufs This is copied from live.cfg file in isolinux directory
ip=frommedia This tells the system to read configuration from /etc/network/interfaces saved from earlier boots.
persistent This tells the system to look for live-rw home-rw partitions or files on the hard disk
noprompt This tells the system not to wait for removing Live CD on shutdown/restart

For persistent media I created live-rw on one partition (mounted at /media/disk) as follows:
$ dd if=/dev/null of=live-rw bs=512M seek=1
$ /sbin/mkfs.ext2 -F live-rw
$ sudo mv live-rw /media/disk
Just to check that persistent includes the installed .debs I installed ttf-indic-fonts:
$ sudo apt-get install ttf-devanagari-fonts
and the fonts are available on reboot.

All my personal settings are available, although, I did not create separate home-rw because live-rw includes changes to /home/user

4 comments:

Unknown said...

"I did not create separate home-rw because live-rw includes changes to /home/user"

Ah ha! I was wondering about this. Thanks for sharing.

-Larro

simon said...

Thank you so much for your post< It opened up a world for me: to try frugal installs of debian and ubuntu on my hdd partition beside tcl, slitaz and puppy! But, it's not working: for ubuntu i think it might have to do with the unmounting problem of casper-rw mentioned in bug reports for debian i don't know. I literally followed your instructions using the same lxde distro and it boots fine with live-rw beside it but if i make changes it freezes on logout. I was wondering if my memory was not big enough (512MB ram on a Dell Latitude C540 with chipset 845M)? So I wrote a new and small live-rw (50MB <= the distro is 443MB) and made only a small change but it still froze. I tried other boot options in grub but no luck. Is my limited memory what is causing the problem and if so how large a distro's and additional personal save file could i use? If not has debian now like ubuntu issues with persistent frugal installs? I would be very greatful if you or someone could help me out. Just let me know what info to give or what troubleshooting to try. Many thanks! Simon

rich said...

thank you for "my tryst with Linux". I am infatuated with live cd distros because of their portability and also because I get a clean installation every time i boot up. I have enjoyed using Puppy Linux and even Damn Small Linux for these reasons, but I have always loved Debian best, so it was a great delight for me to find this page explaining clearly how to use "persistence" with a Debian Live CD. I am delighted! Thank you....

deblanck said...

1)$su
2)$#fdisk -l - show the name of your usb device(bottom)
3)$#mkfs.vfat -F 32 -n SYS /dev/sd[x] - change for your custom [х] > [a,b,c,d,f,g]
4)$#umount /dev/sd[x] && mkdir /media/SYS && mount /dev/sd[x] /media/SYS
5)$#mkdir /mnt/cd && mount -o loop -t /go/to/image/iso/ubuntu-10.04.3-i386.iso /mnt/cd && cp -rf /mnt/cd/* /media/SYS && mv /media/SYS/isolinux/isolinux.cfg /media/SYS/isolinux/syslinux.cfg && mv /media/SYS/isolinux /media/SYS/syslinux
6)$#aptitude install[reinstall] syslinux
7)$#dd if=/usr/lib/syslinux/mbr.bin of=/dev/sd[x]
8)$#syslinux -d /syslinux /dev/sd[x] && umount /dev/sd[x] && mount /dev/sd[x] /media/SYS
Make the casper-rw for persistent mod:
$#dd if=/dev/null of=casper-rw bs=1024M seek=1
$#mkfs.ext2 -F casper-rw
$#mv casper-rw /media/SYS
Edit the bootloader configs(if you need)
$#gedit /media/SYS/syslinux.cfg

Also you may create a /bin/sh script for this actions,else removing headers "$#" in all promts && changing name of devices for your custom && copy/past all it in your #!/bin/sh file.

geek by Deblanck for all tuxes of Earth
Enjoy!

Air India direct flight to San Fransisco has flown through China today.

 My sister in law left for San Fransisco by AI 173 flight which flows over North Pole. I tracked that flight on flightstats.com till it land...