]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[build] Handle isohybrid with xorrisofs 522/head
authorChristian Hesse <mail@eworm.de>
Tue, 8 Jul 2025 10:49:16 +0000 (11:49 +0100)
committerMichael Brown <mcb30@ipxe.org>
Tue, 8 Jul 2025 10:49:16 +0000 (11:49 +0100)
Generating an isohybrid image with `xorrisofs` is supposed to happen
with option `-isohybrid-gpt-basdat`, not command `isohybrid`.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/util/genfsimg

index 23d191692102f4ec53d100f859912edd2a3beede..ac4bbadf8edf997664b7b05cffa99888684d50e8 100755 (executable)
@@ -293,6 +293,7 @@ if [ -n "${ISOIMG}" ] ; then
     MKISOFS=
     MKISOFS_MISSING=
     MKISOFS_NOTSUP=
+    NOISOHYBRID=
     for CMD in genisoimage mkisofs xorrisofs ; do
        if ! "${CMD}" --version >/dev/null 2>&1 ; then
            MKISOFS_MISSING="${MKISOFS_MISSING} ${CMD}"
@@ -315,11 +316,15 @@ if [ -n "${ISOIMG}" ] ; then
        echo "${0}: cannot find a suitable mkisofs or equivalent" >&2
        exit 1
     fi
+    if [ "${MKISOFS}" = "xorrisofs" ] ; then
+        ISOARGS="${ISOARGS} -isohybrid-gpt-basdat"
+        NOISOHYBRID=1
+    fi
     "${MKISOFS}" -quiet -volid "iPXE" -preparer "iPXE build system" \
            -appid "iPXE - Open Source Network Boot Firmware" \
            -publisher "ipxe.org" -sysid "iPXE" -o "${ISOIMG}" \
            ${ISOARGS} "${ISODIR}"
-    if isohybrid --version >/dev/null 2>&1 ; then
+    if [ -z "${NOISOHYBRID}" ] && isohybrid --version >/dev/null 2>&1 ; then
        ISOHYBRIDARGS=
        if [ -n "${EFI}" ] ; then
            ISOHYBRIDARGS="${ISOHYBRIDARGS} --uefi"