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
pull/522/head
Christian Hesse 2021-11-22 21:36:29 +01:00
parent 562c74e1ea
commit 3f5b4ba6a5
1 changed files with 6 additions and 1 deletions

View File

@ -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"