X-Git-Url: http://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=grml-live;h=ef840f674c86f54141e83d5575f85e1d38bd5cdc;hp=f620b9fc6162467ba12c3be90daa4b2c17e8c615;hb=61048123d869bd74b6f05ee2995a736078716eb2;hpb=8cfed16940d096b619bf35dad42cbf1928d58b8a diff --git a/grml-live b/grml-live index f620b9f..ef840f6 100755 --- a/grml-live +++ b/grml-live @@ -157,6 +157,10 @@ umount_all() { umount $CHROOT_OUTPUT/dev/pts 2>/dev/null || /bin/true umount $CHROOT_OUTPUT/dev 2>/dev/null || /bin/true + if [ -n "$EXTRACT_ISO_NAME" ] ; then + umount "$EXTRACT_ISO_NAME" 2>/dev/null || /bin/true + fi + # certain FAI versions sadly leave a ramdisk behind, so better safe than sorry if [ -x /usr/lib/fai/mkramdisk ] ; then /usr/lib/fai/mkramdisk -u "$(readlink -f ${CHROOT_OUTPUT}/var/lib/dpkg)" >/dev/null 2>&1 || /bin/true @@ -549,7 +553,20 @@ if [ -n "$EXTRACT_ISO_NAME" ]; then eend 1 bailout 1 fi - unsquashfs -d "${CHROOT_OUTPUT}" "${mountpoint}"/live/*/*.squashfs ; rc=$? + + if ls "${mountpoint}"/live/*/*.squashfs 2>/dev/null | grep -q . ; then # ISOs >=2011.12 + log "Using ${mountpoint}/live/*/*.squashfs for unsquashfs" + unsquashfs -d "${CHROOT_OUTPUT}" "${mountpoint}"/live/*/*.squashfs ; rc=$? + elif ls "${mountpoint}"/live/*.squashfs 2>/dev/null | grep -q . ; then # ISOs before 2011.12 + log "Using ${mountpoint}/live/*.squashfs for unsquashfs" + unsquashfs -d "${CHROOT_OUTPUT}" "${mountpoint}"/live/*.squashfs ; rc=$? + else + log "Error: Could not find any *.squashfs files on the ISO" + eerror "Error: Could not find any *.squashfs files on the ISO" + eend 1 + bailout 1 + fi + umount "$mountpoint" rmdir "$mountpoint" if [ "$rc" != 0 ]; then @@ -880,7 +897,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then copy_addon_file ipxe.lkrn /usr/lib/ipxe addons copy_addon_file pci.ids /usr/share/misc addons copy_addon_file memtest86+.bin /boot addons - for file in memdisk chain.c32 hdt.c32 menu.c32; do + for file in memdisk chain.c32 hdt.c32 mboot.c32 menu.c32; do copy_addon_file "${file}" /usr/lib/syslinux addons done @@ -1340,9 +1357,14 @@ else # (hidden NTFS, IIRC), as the partition type is sometimes needed # to get the BIOS even look at the partition created by isohybrid if isohybrid --help | grep -q -- --uefi ; then - log "Detected uefi support for isohybrid, enabling" - einfo "Detected uefi support for isohybrid, enabling" - ISOHYBRID_OPTIONS=--uefi + if echo $CLASSES | grep -qw I386 ; then + log "Detected uefi support for isohybrid but 32bit systems do not support it, ignoring." + einfo "Detected uefi support for isohybrid but 32bit systems do not support it, ignoring." + else + log "Detected uefi support for isohybrid, enabling" + einfo "Detected uefi support for isohybrid, enabling" + ISOHYBRID_OPTIONS=--uefi + fi fi log "isohybrid $ISOHYBRID_OPTIONS ${ISO_OUTPUT}/${ISO_NAME}"