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,378
Alex
  • 1
  • 1
    Ubuntu 24.04 (noble) doesn't yet exist; it's currently the development release Ubuntu noble and remains that until it reaches RC state which isn't expected until after 18 April 2024, and isn't on-topic here until release on 25 April 2024. https://discourse.ubuntu.com/t/noble-numbat-release-schedule/35649 Please refer https://askubuntu.com/help/on-topic. For support issues with Ubuntu noble you'll need to use a #ubuntu-next or #ubuntu+1 site (IRC, UF etc) – guiverc Apr 10 '24 at 05:49
  • daily builds (all releases) are used for QA-testing, and can include packages that are not included on supported products (even the released products like jammy or 22.04.5 as its not yet been released except as 22.04.4 thus the daily can include packages found in -proposed that are on the daily for QA purposes only). Daily products are not supported on this site. – guiverc Apr 10 '24 at 05:51

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
  • Many thanks for your detailed explanation, which have help me addressed this issue :-) – Alex May 08 '24 at 06:15