[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Troubles extending Ubuntu 22.04 ISO
From: |
Thomas Schmitt |
Subject: |
Re: Troubles extending Ubuntu 22.04 ISO |
Date: |
Sat, 29 Jun 2024 09:09:22 +0200 |
Hi,
Ash Arnold wrote:
> xorriso -indev ~/Downloads/ubuntu-22.04.4-live-server-amd64.iso
> -outdev build/autoinstall-22.04.4.iso -map build/iso_modified /
> -boot_image any replay -compliance no_emul_toc -padding included
> ...
> xorriso : SORRY : Cannot enable EL Torito boot image #1 because it is not a
> data file in the ISO filesystem
This is a bug in xorriso, which happens when the legacy BIOS boot image
is replaced in the ISO and then "-boot_image any replay" is performed.
> libisofs: FAILURE : Cannot refer by GRUB2 MBR to data outside of ISO 9660
> filesystem.
This is a special consequence of the bug when a GRUB boot image for
legacy BIOS is the culprit. It does not happen with isolinux.bin as in
ubuntu-20.04.1-live-server-amd64.iso .
I guess that there exists a copy of the boot image file as
build/iso_modified/boot/grub/i386-pc/eltorito.img
Try what happens if you remove it before the xorriso run.
The bug was fixed about a month ago in the development version 1.5.7.
A snapshot is available as
https://www.gnu.org/software/xorriso/xorriso-1.5.7.tar.gz
This tarball is very self-contained by bringing own source copies of
libburn, libisofs, and libisoburn.
For compilation instructions see
https://www.gnu.org/software/xorriso/README_xorriso_devel
"Compilation, First Glimpse, Installation"
The binary can be used without further installation.
Fedora ISO producers worked around this problem by doing
"-boot_image any replay" before replacing the boot image. This has the
undesirable consequence that the old boot image stays in effect but has
no file path in the directory tree.
Trying to replay that ISO fails iwith xorriso-1.5.6 because of another
old shortcomming. This led to the discovery of the original bug by
Brian C. Lane. The new workaround is to not overwrite the boot image
file.
Have a nice day :)
Thomas