log "Unpacking chroot from ${UNPACK_CHROOT}"
einfo "Unpacking chroot from ${UNPACK_CHROOT}"
[ -d "$CHROOT_OUTPUT" ] || mkdir -p "${CHROOT_OUTPUT}"
- tar -xf "${UNPACK_CHROOT}" -C "${CHROOT_OUTPUT}/" --strip-components 1 | RC=$?
- echo $RC
+ tar -xf "${UNPACK_CHROOT}" -C "${CHROOT_OUTPUT}/" --strip-components 1 ; RC=$?
if [ "$RC" != 0 ] ; then
eend 1
bailout 1
fi
cp ${TEMPLATE_DIRECTORY}/boot/grub/* "$BUILD_OUTPUT"/boot/grub/
- if [ -e ${TEMPLATE_DIRECTORY}/compat/grub/linux.mod ]; then
- cp "${TEMPLATE_DIRECTORY}"/compat/grub/* "${BUILD_OUTPUT}"/boot/grub/
- else
- if ! which "grub-mkimage" >/dev/null 2>&1 ; then
- log "grub-mkimage not found, skipping Grub step therefore." ; eend 0
- ewarn "grub-mkimage not found, skipping Grub step therefore."
- ewarn "Please install grub-pc-bin or grub-common >= 1.98+20100804-14." ; eend 0
- elif ! grub-mkimage --help | grep -q -- --format ; then
- log "grub-mkimage does not support --format=i386-pc, skipping Grub step therefore." ; eend 0
- ewarn "grub-mkimage does not support --format=i386-pc, skipping Grub step therefore."
- ewarn "Please install grub-common >= 1.98+20100804-14 or grub-pc-bin." ; eend 0
- else
- # copy system grub files if grml-live-compat is not installed
- cp -a /usr/lib/grub/*-pc/*.mod "${BUILD_OUTPUT}"/boot/grub/
- cp -a /usr/lib/grub/*-pc/*.o "${BUILD_OUTPUT}"/boot/grub/
- cp -a /usr/lib/grub/*-pc/*.lst "${BUILD_OUTPUT}"/boot/grub/
- cp -a /usr/share/grub/ascii.pf2 "${BUILD_OUTPUT}"/boot/grub/
- grub-mkimage -d /usr/lib/grub/*-pc -o \
- "${BUILD_OUTPUT}/boot/grub/core.img" biosdisk iso9660 --format=i386-pc
- fi
- fi
+ # copy grub files from target
+ cp -a "${CHROOT_OUTPUT}"/usr/lib/grub/*-pc/*.mod "${BUILD_OUTPUT}"/boot/grub/
+ cp -a "${CHROOT_OUTPUT}"/usr/lib/grub/*-pc/*.o "${BUILD_OUTPUT}"/boot/grub/
+ cp -a "${CHROOT_OUTPUT}"/usr/lib/grub/*-pc/*.lst "${BUILD_OUTPUT}"/boot/grub/
+ cp -a "${CHROOT_OUTPUT}"/usr/share/grub/ascii.pf2 "${BUILD_OUTPUT}"/boot/grub/
+ cp -a "${CHROOT_OUTPUT}"/boot/grub/core.img "${BUILD_OUTPUT}"/boot/grub/
if ! [ -d "${TEMPLATE_DIRECTORY}"/GRML ] ; then
log "Error: ${TEMPLATE_DIRECTORY}/GRML does not exist. Exiting."
fi
# support xorriso as well mkisofs and genisoimage
- if which xorriso >/dev/null 2>&1 && \
- dpkg --compare-versions $(dpkg-query -W -f='${Version}\n' xorriso 2>/dev/null) gt-nl 1.1.6-2 ; then
+ if which xorriso >/dev/null 2>&1 ; then
MKISOFS='xorriso -as mkisofs'
elif which mkisofs >/dev/null 2>&1; then
MKISOFS='mkisofs'
case "$MKISOFS" in
xorriso*)
einfo "Using xorriso for ISO generation." ; eend 0
+ eindent
- if [ -r "${CHROOT_OUTPUT}/var/lib/grml_live_efi.img" ] ; then
- einfo "Found /var/lib/grml_live_efi.img - moving to /boot/efi.img for ISO."
- log "Found /var/lib/grml_live_efi.img - moving to /boot/efi.img for ISO."
- mv "${CHROOT_OUTPUT}/var/lib/grml_live_efi.img" "${BUILD_OUTPUT}/boot/efi.img"
- eend $?
- fi
-
- if [ -r "${CHROOT_OUTPUT}/var/lib/grml_live_bootx64.efi" ] ; then
- einfo "Found /var/lib/grml_live_bootx64.efi - moving to /efi/boot/bootx64.efi for ISO"
- log "Found /var/lib/grml_live_bootx64.efi - moving to /efi/boot/bootx64.efi for ISO"
- mkdir -p "${BUILD_OUTPUT}/efi/boot/"
- mv "${CHROOT_OUTPUT}/var/lib/grml_live_bootx64.efi" "${BUILD_OUTPUT}/efi/boot/bootx64.efi"
- eend $?
+ if ! dpkg --compare-versions $(dpkg-query -W -f='${Version}\n' xorriso 2>/dev/null) gt-nl 1.1.6-1 ; then
+ log "Disabling (U)EFI boot support since xorriso version is not recent enough."
+ ewarn "Disabling (U)EFI boot support since xorriso version is not recent enough." ; eend 0
+ else
+ log "xorriso with -eltorito-alt-boot present, enabling (U)EFI boot support."
+ einfo "xorriso with -eltorito-alt-boot present, enabling (U)EFI boot support." ; eend 0
+
+ if [ -r "${CHROOT_OUTPUT}/var/lib/grml_live_efi.img" ] ; then
+ einfo "Found /var/lib/grml_live_efi.img - moving to /boot/efi.img for ISO."
+ log "Found /var/lib/grml_live_efi.img - moving to /boot/efi.img for ISO."
+ mv "${CHROOT_OUTPUT}/var/lib/grml_live_efi.img" "${BUILD_OUTPUT}/boot/efi.img"
+ eend $?
+ fi
+
+ if [ -r "${CHROOT_OUTPUT}/var/lib/grml_live_bootx64.efi" ] ; then
+ einfo "Found /var/lib/grml_live_bootx64.efi - moving to /efi/boot/bootx64.efi for ISO"
+ log "Found /var/lib/grml_live_bootx64.efi - moving to /efi/boot/bootx64.efi for ISO"
+ mkdir -p "${BUILD_OUTPUT}/efi/boot/"
+ mv "${CHROOT_OUTPUT}/var/lib/grml_live_bootx64.efi" "${BUILD_OUTPUT}/efi/boot/bootx64.efi"
+ eend $?
+ fi
+
+ if [ -r "${BUILD_OUTPUT}"/boot/efi.img ] ; then
+ einfo "/boot/efi.img found and amd64 architecture present, extending boot arguments."
+ log "/boot/efi.img found and amd64 architecture present, extending boot arguments."
+ BOOT_ARGS="$BOOT_ARGS -boot-info-table -eltorito-alt-boot -e boot/efi.img -no-emul-boot"
+ eend $?
+ fi
fi
- if [ -r "${BUILD_OUTPUT}"/boot/efi.img ] ; then
- einfo "/boot/efi.img found and amd64 architecture present, extending boot arguments."
- log "/boot/efi.img found and amd64 architecture present, extending boot arguments."
- BOOT_ARGS="$BOOT_ARGS -boot-info-table -eltorito-alt-boot -e boot/efi.img -no-emul-boot"
- eend $?
- fi
+ eoutdent
;;
esac
;;