[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-xorriso] Re: Patching bootable multisession images

From: Thomas Schmitt
Subject: [Bug-xorriso] Re: Patching bootable multisession images
Date: Fri, 25 Feb 2011 08:37:54 +0100


> I'm trying to get xorriso to rewrite an ISO image onto a new session of a
> multisession disk and make it bootable, without success. The idea is to 
> reuse a multisession CD by dropping all the contents in the old sessions
> and writing a new session containing the ISO image contents.

The plan should be achievable. But the bootability is not guaranteed
because the BIOSes which i tested always boot from the El Torito
boot record of the first session.
(El Torito specs do demand to boot the most recent session. But
 nobody seems to care.)

>   xorriso -indev "$1" -load sbsector 0 -chmod 0444 /isolinux/af.hlp -- \
>     -outdev /dev/sr0 -boot_image isolinux patch -boot_image any show_status \
>     -grow_blindly 12846 -commit

Do i get it right that you have two media and want to transplant
the image from the input media into a session of the other one ?

> but I get the error message:
> xorriso : FAILURE : -indev differs from -outdev and -outdev media is not 
> blank>
> which is true, but IMHO, irrelevant.

It is the usage model of xorriso: new images go to blank media.

You may circumvent it by using xorriso in the style of cdrtools:
  xorriso -indev "$1' -outdev - -grow_blindly 12846 ...other.options... | \
  xorriso -as cdrecord -v dev=/dev/sr0 -multi -waiti -

This implies that the media directs "xorriso -as cdrecord" to the
appropriate Next Writeable Address 12846. (Will work for CD, DVD-R, DVD+R,
BD-R but not for the other media types.)

Alternative approach:

Mount the input media at directory /mnt and let xorriso operate only
on the output media.
Use option -rm_r to get rid of all loaded files, and option -map
to insert the mounted file tree at the /-directory of the ISO image:

  xorriso -dev /dev/sr0 -rm_r / --  -map /mnt /  \
          -boot_image isolinux patch -boot_image any show_status 

> NB, the -chmod command is just there to force xorriso to attempt
> to patch up the image.

It is reluctant to write because there is no content change made
in the image.
I use an even more harmless option in this case:
   -alter_date a +0 / --
sets the timestamp of the root directory to the same value as it
already has. 

Have a nice day :)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]