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
_______________________________________________
libburn mailing list
libburn lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libburn
|