Files
molecules/scripts/generic_post_iso_script.sh
Ettore Di Giacinto e54fc67a01 Boot with prefixed UUID
With certain versions of udev/blkid on specific hosts, resolving
the rootfs livecd by label fails to the wrong partition (e.g. efi), preventing to boot.
Meanwhile workaround it by writing an hardcoded udf UUID, but this could be
also automatically generated to have also predictable builds.

Requires sys-fs/udftools.
2019-01-18 22:57:47 +01:00

42 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
# Update ISO image in order to make it USB bootable
# out of the box
#
# Available env vars:
# ISO_PATH = path to generated ISO
# ISO_CHECKSUM_PATH = path to generated md5 for ISO
#
# This script requires isohybrid (which comes from syslinux package)
/usr/sbin/env-update
. /etc/profile
ISO_ARCH="${1}"
shift
echo
echo "Spawning isohybrid for:"
echo "ISO_PATH = ${ISO_PATH}"
echo "ISO_CHECKSUM_PATH = ${ISO_CHECKSUM_PATH}"
echo "ISO_ARCH = ${ISO_ARCH}"
echo
ih_args=""
if [ "${ISO_ARCH}" = "amd64" ]; then
ih_args+=" --uefi"
fi
isohybrid ${ih_args} "${ISO_PATH}" || exit 1
cd "$(dirname "${ISO_PATH}")" || exit 1
iso_name=$(basename "${ISO_PATH}")
md5sum "${iso_name}" > "${ISO_CHECKSUM_PATH}"
# FIXME: With certain versions of udev/blkid on specific hosts, resolving
# the rootfs livecd by label fails to the wrong partition (e.g. efi), preventing to boot.
# Meanwhile workaround it by writing an hardcoded udf UUID, but this could be
# also automatically generated to have also predictable builds.
# Requires sys-fs/udftools
udflabel --force -u 5c403dad00049b51 "${ISO_PATH}" SABAYON
exit ${?}