0

Currently, I am trying to build Ubuntu 24.04 with xorriso, but failed with following error output.

The Ubuntu I used is a daily build version: https://cdimage.ubuntu.com/daily-live/current/noble-desktop-amd64.iso

and I have updated the xorriso to the latest version:xorriso-1.5.6-5.el7.x86_64

I am not familiar with xorriso, so, if anyone who can help me with this, I would appreciate it.

libisofs: MISHAP : Cannot apply boot image patching outside of ISO 9660 filesystem
...
        xorriso : NOTE : -return_with SORRY 32 triggered by problem severity MISHAP
    Unmount directory /local/scratch/tmp/isobuild_gr5ufnyf/mp
    Executing: sudo umount /local/scratch/tmp/isobuild_gr5ufnyf/mp
    Executing: sudo rm -rf /local/scratch/tmp/isobuild_gr5ufnyf
    Traceback (most recent call last):
      File "./buildiso.py", line 432, in <module>
        repackiso(inputiso, outputiso, isolinuxFileToUse, grubFileToUse, kickstartFileToUse, distro, bootmode)
      File "./buildiso.py", line 343, in repackiso
        generateUEFIImage(inputiso, outputiso, distro, td, bootCat, isolinuxBin, efiImg, eltoritoImg)
      File "./buildiso.py", line 204, in generateUEFIImage
        execcmd(imgGenerateCmd)
      File "./buildiso.py", line 69, in execcmd
        subprocess.check_call(cmd, shell=True)
      File "/usr/lib64/python3.6/subprocess.py", line 311, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command 'xorriso -as mkisofs -r -V 'ubuntu24044 MODIF (EFIBIOS)' -o /nfs_build_isos/origin_images/ubuntu24044_x86-64_xenrtinst.iso --grub2-mbr /local/scratch/tmp/isobuild_gr5ufnyf/boot_hybrid.img -partition_offset 16 --mbr-force-bootable -append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b /local/scratch/tmp/isobuild_gr5ufnyf/efi.img -appended_part_as_gpt -iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7 -b boot/grub/i386-pc/eltorito.img -c boot.catalog -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e '--interval:appended_partition_2:::' -no-emul-boot --grub2-boot-info -boot-load-size 10140   /local/scratch/tmp/isobuild_gr5ufnyf/repack/
    ' returned non-zero exit status 32.
kos
  • 41,268
Alex
  • 1

1 Answers1

1

Edit:

The problem is the option -grub2-boot-info which should be given before option -eltorito-alt-boot switches the argument scope to the second boot image. Your xorriso run applies it to the appended partition with the EFI boot image.

Try:

... -b boot/grub/i386-pc/eltorito.img -c boot.catalog -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info -eltorito-alt-boot -e '--interval:appended_partition_2:::' -no-emul-boot ...

My now outdated answer before i discovered the xorriso arguments in your post:

Without knowing the xorriso arguments and seeing the other messages of xorriso, i can only state that this error happens if a boot info table shall be patched into an El Torito BIOS boot image that is not a file in the ISO 9660 filesystem but rather an appended partition.

In noble-desktop-amd64.iso the BIOS boot image is a file named /boot/grub/i386-pc/eltorito.img whereas the EFI boot image is an appended partition which needs no patching with a boot info table. So it is not clear why your xorriso run was instructed to patch a partition.

A test with xorriso's proposals for repacking yielded no error:

xorriso-1.5.6 -indev noble-desktop-amd64.iso -outdev test.iso -boot_image any replay -changes_pending yes