site  contact  subhomenews

Mysterious multisession failure

July 15, 2009 — BarryK
I'm stuck on this. What follows is a report that I will be posting to the cdrkit and maybe cdrtools developers...

Puppy Linux supports saving a session back to CD or DVD, or rather it used to. I haven't tested this for awhile, tried it today and got an error. First I tried with a DVD-R, then a CD-R.

So, I have attempted to narrow-down the error, and I have reduced to these very simple steps. The following is reproducable, but the same steps used to work. At first I was using cdrkit 1.1.6, so I upgraded to 1.1.9, but still the same error.

Of course, in the steps below, for cdrkit substitute 'genisoimage' for 'mkisofs', and 'wodim' for 'cdrecord'. I use cdrkit with the old names as symlinks.

I have a 'build' directory with 97MB of files in it, all within the 8.3 format:

# ls build

boot.msg initrd.gz isolinux.cfg pup4-416.sfs
help.msg isolinux.bin logo.16 vmlinuz

# mkisofs -D -R -o cd-puppy.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ./build/

Burn to cd-r, multi-session:

# cdrecord -multi -tao -pad -data -eject -v speed=10 dev=/dev/sr0 cd-puppy.iso

Now, instead of burning an actual session to the cd, I will just use the '-print-size' option, which suffices to report the error...

# SECT=`cdrecord -msinfo dev=/dev/sr0 | grep '^[0-9]*.[0-9]'`
# export SECT

# mkisofs -print-size -D -R -C $SECT -M /dev/sr0 -quiet -new-dir-mode 0755 -graft-points 2009-07-15=/root/nothing


...the above is supposed the return the size to be written, instead it aborts with this:

Rock Ridge signatures found

genisoimage: Error: '(null)' and '/..' have the same ISO9660 name ''.
genisoimage: Error: '(null)' and '/..' have the same Rock Ridge name '..'.
Unable to sort directory


The above is incredibly simple, so why the failure? Note, I have '-D' as some of our sessions may be too deep. It has never been a problem using '-D' before. I am totally stuck, need urgent help!

Comments

cdrkit bug report
Username: BarryK
I have joined the cdrkit mail-list and reported the problem: http://lists.alioth.debian.org/mailman/listinfo/debburn-devel

multisession
Username: ttuuxxx
"Hi Barry, as you must know I've packaged up some months ago xfburn as a 512kb pet, that includes its own burning backend that doesn't depend on any of puppy's backend burning software, its based on a newsystem that you can read up at http://libburnia-project.org/ The problem with xfburn and multisession, is that the developers of xfburn have been lazy to implement new features into it, They talked about it over a year ago, libburnia does do multi-session, The part that does due multisessions is called Xorriso, and you can readup on it at http://libburnia-project.org/wiki/Xorriso As for the quallity of the backend, well I've never had the chance to use multisession ever on linux full stop, never had a need to try and use it. But as burning iso/data and formating, I've had a 100% success rate with libburnia, unlike others I've tried on puppy. ttuuxxx

multisession part 2
Username: ttuuxxx
"Sorry Barry I was over the 2000 word limit and had to spit the post up :) Also puppy user Amigo like libburnia, This is what he said about it." But today I found libburnia (libburn-project.org) which has a tool called cdrskin. The code is completely separate from cdrtools code, but cdrskin emulates most of the syntax as cdrecord -plus additional features are available with the addons libisofs and libisoburn. This seems like it might be a good alternative. The devs are dedicated, the code is all GPL and actively maintained. The install size for libburn/cdrskin is quite small and there are no extra depends. The XFCE goodies program xfburn uses libburn & co. and If you create a link named cdrecord which points at the cdrskin program, libburn can replace cdrttols almost entirely. cdrskin emulates the syntax of cdrecord. Creating the link lets cdrskin subsitute for cdrecord for use with other programs which call cdrecord. You may want to look at and possibly include the libisoburn package that goes with libburn/libisofs." That was from this thread, http://www.murga-linux.com/puppy/viewtopic.php?t=38631&search_id=344959145&start=15 By the looks of things, it doesn't look so difficult to updated to libburnia. Well its an idea and the best way I could help. ttuuxxx

Multissesion burn
Username: tronkel
"Just tried burning 2 multisessions in Upup-476.iso. (Alpha9) No problem here at all - both worked perfectly. 476 multisession DVD was burned using Pburn in 476 itself. I wonder if cdrecord and the other stuff would also work in Puppy 416 directly or if they would need re-compiling. Hope this helps.

Retire multi-session option?
Username: dogone
"I'm not sure this is the place to throw this out, but is Puppy's multi-session save option better repaired, replaced or retired? I experimented with it some time back and was disappointed to find boot times grow after each session. Sessions are restored serially so 10+ sessions became relatively impractical. One solution might be to offer a single-session save (the disk is rewritten entirely). Another might be permit the user to set the number of sessions restored at boot. A third might be to retire the option altogether in favor of flash storage.

pup_save backup option
Username: dogone
"...which reminds of an option I'd really like to see in Puppy. I would like the option of having Puppy copy my pup_save.2fs to YYMMDD-pup_save.2fs at each [re]boot or every X [re]boots. I'd like the option of maintaining only X copies (rolling backups). Such a feature would take greater advantage of the pup_save concept while addressing that long-standing computer land challenge: backups. It might also prove a practical alternative to the multi-sessions save option.

encoding maybe?
Username: zygo
"The problem described goes beyond the multisession feature. Nothing was actually burnt. It's an iso making problem. Barry, This reminds me of your recent locale woes: http://www.linux4all.de/livecd/barebone/doc/mkisofs-2.01/README.joliet

Do not retire multisession
Username: Nancy
"As somebody before just said etc. multisession should remain .. Especially for simpleminded assholes like me, Puppy multisession is so attractive. I dare not do an install ... I was wondering could it be the wrong disc ? 1 times out of a 1000 it is purely the wrong brand or disc .. Sorry for my simplemindedness

multisession
Username: linuxcbon
"I dont know what the problem is. Can be that cdrkit is broken... For me, multisession can be removed, I never used it because I install puppy and save datas on the hard disk. I cannot talk for the other people though.

if Ubuntu based...
Username: ottod
"Being an Ubuntu veteran user, I should say that cd recording/ISO creation are broken mostly after Hardy. DVD recording works. Even when burning Ubuntu ISOs, one gets a lots of "unexplained" errors at the end of the CD. That is why I always come back to Puppy, where everything works. I have seen these errors consistently in some machines and no traces of them in some others. I say this because Barry is playing mostly with Karmic lately.

Multisession rules!
Username: Flash
"I'm definitely for keeping the multisession option in Puppy. I depend on it. It hardly adds any weight to Puppy while giving an option unavailable in any other operating system I know. Why make everyone use a hard disk drive when multisession is all they need? I save all my settings and installed programs on the DVD, and other stuff on a USB flash memory or external hard disk drive (I don't have an internal hard disk drive.) This is similar to, but much easier than, remastering, with the bonus that you don't need a hard disk drive at all. Dogone, your objection that multisession Puppy takes too long to boot when there are a lot of sessions is easy to fix. I call it "defragmenting" multisession Puppy. It works with any kind of disk that can handle multisession, but it's easiest with DVD+RW. Say you're running Puppy version 4.2 from a multisession DVD+RW and you've saved 50 sessions. You can compact all the sessions into one by using Burniso2cd to burn the same iso you're already running on the same DVD+RW you're already using. (Burniso2cd will burn to a DVD+RW without having to blank the disk first.) Then you shut down, choosing to save to the DVD. This restarts the multisession disk and puts everything from RAM into the first session. It's also an easy way to upgrade to a new version of Puppy. Much easier than upgrading a full hard disk installation. Try it. You'll be impressed.


Tags: woof