Growisofs and multisession Puppy Linux
Andy and anyone interested,
I hope that you can spare a moment to give me some advice!
I am the main developer of Puppy Linux, a very tiny 50 - 60M
live-CD distro, with the works (Mozilla, Abiword, Gnumeric...).
Puppy boots off CD and loads totally into ram, freeing up the
CD for other uses.
An experimental feature of Puppy is that sessions can be saved
back to CD, what we call "multisession Puppy":
This works by saving each session as a new track, in a new folder,
up to 99 tracks or the capacity of the CD.
Only modified files are saved to each folder.
Problems? Yes, many!
Some people find that it saves the first session, then won't boot.
Linux gives seek errors at bootup and shutdown -- yet it still works.
Anyway, the reason for this email:
A Puppy enthusiast Ted Dog (Forum name) has investigated using growisofs
for DVDs, and it seems he got the initial burn and all subsequent
session burns to go into one track. He used a DVD-RW.
Using DVD-Rs though, it seems I am forced to be in "sequential mode"
and I get two tracks. The first burn, then all session saves get put
into track 2.
-- so, I get seek errors at bootup and shutdown (which don't seem to
do any harm)
So, my question is, is there any way that I can force the initial and
subsequent burns to be in one track only?
Second question, what does "-old-root" do? Could I use that?
Currently, I save modified files to a directory on the DVD, then at
bootup Puppy reads the directories from the DVD in reverse order.
The experimental multisession Puppy DVD is to be found here:
Here is the README for it:
This live-cd is for experimenters only.
No menu, it boots straight into multi-session mode.
Burn it to DVD like this:
# growisofs -speed=4 -Z /dev/hdc=puppy-test-ms-dvd-9oct05.iso
where /dev/hdc is name is DVD burner drive.
Automatic use of Windows swap file WARNING! WARNING!
Be careful, have not tested this: if PC has a NTFS partition in C: (hda1)
then looks for a XP swap file and reformats it as a Linux swap file then
GuestToo tried this awhile back and reported that it didn't seem to harm
If C: is a VFAT partition, Puppy creates c:\pupx.swp and uses that.
/sbin/init and /etc/rc.d/rc.sysinit were edited to implement this.
/etc/rc.d/rc.sysinit-cd and /etc/rc.d/rc.reboot-cd were edited to optimise
for DVD, using growisofs, based upon pioneering work by Ted Dog.
The iso was created by:
mkisofs -D -J -R -o puppy-$RIGHTVER-$RIGHTBRWSR.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./isolinux-builds/
The iso was burned to CD by:
growisofs -speed=4 -Z /dev/hdc=puppy-test-ms-dvd-9oct05.iso
You can see how sessions are saved by looking in rc.reboot-cd.
A difference from CD is there are two tracks. The initial burn, as above,
creates one track. Saved sessions all go into track 2, until DVD is full.
This is for a DVD-R.
So far, it seems can only get all in one track if use a DVD-RW in overwrite mode.
With 2 tracks, get seek errors at bootup and shutdown, that don't seem to actually cause any trouble.
At shutdown, /tmp/rc.reboot executes (which is a copy of /etc/rc.d/rc.reboot-cd)
and saves the new session like this:
growisofs -speed=4 -M $CDR -D -J -R -new-dir-mode 0755 -graft-points -path-list /tmp/listfinalshutdownsorted.txt
I hope this intrigues you!