Comment 14 for bug 1899308

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

Hi,

> So I am sure that we have identified the problem.

There is still the possibility that only a boot flag is missed by the
firmware.

So please test also an ISO made by
    ...
    -boot_image any replay \
    -boot_image any appended_part_as=gpt \
    -boot_image any mbr_force_bootable=on

If this does not boot, it could be because of xorriso's inconsistency
between Protective MBR size and GPT size when "replay" is used.
(I am hunting this in the code since yesterday.)

So in case of failure, try a method which is very near to the way how
original Ubuntu ISOs get built.
The number 5725652 is the start block of the original EFI partition in the
ISO from 10 october. If you use a different ISO as base, you need to ask
xorriso or a partition editor for the start block of partition 2 and use
that number. The partition size 9952 seems to be stable over all new
Ubuntu ISOs i have seen in the last days:

  original=groovy-desktop-amd64_20201010_gpt.iso
  mount_dir=/mnt/iso

  mbr=groovy-desktop-amd64_20201010_gpt.mbr.img
  efi=groovy-desktop-amd64_20201010_gpt.efi.img
  efi_part_start=5725652

  dd if="$original" of="$mbr" bs=512 count=1
  dd if="$original" of="$efi" bs=512 skip="$efi_part_start" count=9952

  sudo mount "$original" "$mount_dir"

  xorriso -as mkisofs \
     -o test.iso \
     -J -joliet-long -l \
     -b boot/grub/i386-pc/eltorito.img \
        -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info \
     --grub2-mbr "$mbr" \
     -append_partition 2 0xef "$efi" \
     -eltorito-alt-boot \
     -e --interval:appended_partition_2:all:: \
        -no-emul-boot \
     -partition_offset 16 -r \
     -appended_part_as_gpt \
     --mbr-force-bootable \
     -no-pad \
     "$mount_dir"

Have a nice day :)

Thomas