Comment 18 for bug 1899308

Revision history for this message
Thomas Schmitt (scdbackup) wrote :

Hi,

this is a one-time tangent about the xorriso replay run which i advised
in comment #10.

I found at least the trigger of the xorriso replay flaw about the size
values in ISO 9660 superblock, protective MBR, and GPT header block.
It is the multi-session emulation for overwritable media which is not
enabled when xorriso works by its mkisofs emulation.

A xorriso replay run for an ISO which was made by the mkisofs emulation
should disable the multi-session emulation by command

  -compliance no_emul_toc

in order to get the same result (and in order to avoid the bug which i
still have to catch).

Further i advise for machines with lots of RAM to use
  -stdio_sync off
which avoids the periodic waiting for the hard disk to have taken all
written data and the end sync of the mkisofs emulation.
(Whose RAM is fast enough to beat 1200x DVD speed ?)

So a repack run which shall yield consistent size values in ISO 9660, MBR,
and GPT is currently advised to look like:

  test -r test_gpt_bootflag.iso && rm test_gpt_bootflag.iso

  xorriso \
    -stdio_sync off \
    -compliance no_emul_toc \
    -indev "$original" \
    -outdev test_gpt_bootflag.iso \
    -boot_image any replay \
    \
    -boot_image any appended_part_as=gpt \
    -boot_image any mbr_force_bootable=on

with the commands after "-boot_image any replay" being the modifications of
the imported boot setup of "$original". (See man xorriso, -boot_image)

(I added
  -boot_image anyappended_part_as=gpt
although the 20201010 ISO brings this setting, because the proposal shall
also work with ISOs like 20201007.1 which have MBR partition table.)

Have a nice day :)

Thomas