Print a message before loading kernel or initrd in grub
[grml-live.git] / grml-live
index dbc9bbd..2fa42a8 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -883,7 +883,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
        if ! [ -d "${BUILD_OUTPUT}/boot/grub" ] ; then
          mkdir -p "${BUILD_OUTPUT}/boot/grub"
        fi
-       cp ${TEMPLATE_DIRECTORY}/boot/grub/* "$BUILD_OUTPUT"/boot/grub/
+       cp -a ${TEMPLATE_DIRECTORY}/boot/grub/* "$BUILD_OUTPUT"/boot/grub/
 
        # copy grub files from target
        cp -a "${CHROOT_OUTPUT}"/usr/lib/grub/*-pc/*.mod "${BUILD_OUTPUT}"/boot/grub/
@@ -929,7 +929,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
        # adjust all variables in the templates with the according distribution information
        for file in "${BUILD_OUTPUT}"/boot/isolinux/*.cfg "${BUILD_OUTPUT}"/boot/isolinux/*.msg \
                    "${BUILD_OUTPUT}"/boot/grub/* ; do
-         if [ -r "${file}" ] ; then
+         if [ -r "${file}" ] && [ -f "${file}" ] ; then
            sed -i "s/%ARCH%/$ARCH/g"                    "${file}"
            sed -i "s/%DATE%/$DATE/g"                    "${file}"
            sed -i "s/%DISTRI_INFO%/$DISTRI_INFO/g"      "${file}"
@@ -951,6 +951,14 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
          fi
        done
 
+       for param in ARCH DATE DISTRI_INFO DISTRI_NAME DISTRI_SPLASH GRML_NAME SQUASHFS_NAME \
+           RELEASE_INFO SHORT_NAME VERSION ; do
+           for file in $(find "${BUILD_OUTPUT}" -name "*%$param%*") ; do
+               value="$(eval echo '$'"$param")"
+               mv ${file} ${file/\%${param}\%/$value}
+           done
+       done
+
        # adjust bootsplash accordingly but make sure the string has the according lenght
        SQUASHFS_NAME="$(cut_string 20 "$SQUASHFS_NAME")"
        SQUASHFS_NAME="$(extend_string_end 20 "$SQUASHFS_NAME")"
@@ -1205,24 +1213,21 @@ else
            eindent
 
            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
+             log   "Disabling (U)EFI boot support because xorriso version is too old."
+             ewarn "Disabling (U)EFI boot support because xorriso version is too old." ; 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"
+             if [ -r "${CHROOT_OUTPUT}/boot/efi.img" ] ; then
+               einfo "Found /boot/efi.img - using for ISO."
+               log   "Found /boot/efi.img - using for ISO."
+               cp "${CHROOT_OUTPUT}/boot/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"
+             if [ -r "${CHROOT_OUTPUT}/boot/bootx64.efi" ] ; then
+               einfo "Found /boot/bootx64.efi - using as /efi/boot/bootx64.efi for ISO."
+               log   "Found /boot/bootx64.efi - using as /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"
+               cp "${CHROOT_OUTPUT}/boot/bootx64.efi" "${BUILD_OUTPUT}/efi/boot/bootx64.efi"
                eend $?
              fi
 
@@ -1231,6 +1236,9 @@ else
                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 $?
+             else
+               log   "Disabling (U)EFI boot support because /boot/efi.img is missing."
+               ewarn "Disabling (U)EFI boot support because /boot/efi.img is missing." ; eend 0
              fi
            fi