From 3f5b4ba6a55b8028274bf5bcee748a556caf3cc9 Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Mon, 22 Nov 2021 21:36:29 +0100 Subject: [PATCH] util/genfsimg: handle isohybrid with xorrisofs Generating an isohybrid image with `xorrisofs` is supposed to happen with option `-isohybrid-gpt-basdat`, not command `isohybrid`. This also fixes UEFI boot on several of my devices. https://wiki.syslinux.org/wiki/index.php?title=Isohybrid --- src/util/genfsimg | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/util/genfsimg b/src/util/genfsimg index 731fa6ce0..e7821ee15 100755 --- a/src/util/genfsimg +++ b/src/util/genfsimg @@ -280,6 +280,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}" @@ -302,11 +303,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"