[Libburn] Re: Dumb newbie question: Multisession capability
scdbackup at gmx.net
scdbackup at gmx.net
Fri Jan 5 05:19:49 PST 2007
Hi,
> - Read an ISO image from an existing ECD
> - Write the ISO image to a newly-prepared open-session CD-R
> it becomes apparent that Location Of Extent values (and
> other fields in PVD etc) need to be adjusted to reflect their positions in
> the new disc.
Yes.
The art with ISO multi-session on CD is to prepare the file
system image so that the block addresses in its mamangement
data match the block addresses on CD.
Operating systems will mount the last session on the CD
which then may or may not refer to previous sessions.
The coordination of inner addresses and future location on CD
is done with mkisofs options -C and eventually -M. But as you
already found out, mkisofs does only create new ISO-9660 images
and does not manipulate existing ones.
One possibility would be to mount the original ISO filesystem,
and to let mkisofs create a new image from this.
For that you also need to obtain the predicted location of the
next session. Insert the appendable CD, run
cdrecord dev=...drive.address... -msinfo
(or wodim -msinfo, or cdrskin -msinfo) and memorize the number
pair which is reported.
Then you can run
mkisofs ...your.mkisofs.options... -C number1,number2
to create the ISO-9660 image which will match the addresses of
the future session (which will begin at number2).
This image you may burn via cdrecord|wodim|cdrskin to the
appendable CD. If you want to keep it appendable, don't forget
option -multi.
Well, that was a rough ride over mkisofs (or genisofs) and
cdrecord (or wodim, or cdrskin). See their man pages.
If you are on Linux and need help with this approach, you may
contact me directly - as it is quite off-topic here.
> my reading of the example at
> http://icculus.org/burn/doc/ seems to indicate that this can be done with
> libburn
Program test/burniso.c as shown on this URL is not able
to do this for two reasons:
It does not offer multi-session capabilities and even if
it would - there is no support for TAO write mode and all
my burners refuse multi-session in SAO write mode.
It does not manipulate the data to be burned to CD.
The title "example of burning an ISO file" is a bit
misleading since it burns any format as first session
to blank CDs.
For the necessary ISO filesystem manipulation you might
have to start an own project. Program growisofs does
some manipulations with the first 32 kB of existing
ISO images on overwriteable media. But your goal looks a
bit more demanding than this.
If you start such a ISO-9660 relocation project or happen
to find an appropriate tool for Linux, don't forget to
tell the world.
Have a nice day :)
Thomas
More information about the libburn
mailing list