Use "newest" kernel only if two kernels are present in the chroot
[grml-live.git] / grml-live
index 2546753..5209776 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -383,7 +383,8 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
          bailout 10
       fi
 
-      cp "$CHROOT_OUTPUT"/boot/vmlinuz*  "$BUILD_OUTPUT"/boot/isolinux/linux26
+      KERNEL_IMAGE="$(ls $CHROOT_OUTPUT/boot/vmlinuz* | sort -r | head -1)"
+      cp "$KERNEL_IMAGE"                 "$BUILD_OUTPUT"/boot/isolinux/linux26
       cp /usr/lib/syslinux/chain.c32     "$BUILD_OUTPUT"/boot/isolinux/
       cp /usr/lib/syslinux/isolinux.bin  "$BUILD_OUTPUT"/boot/isolinux/
       cp /usr/lib/syslinux/memdisk       "$BUILD_OUTPUT"/boot/isolinux/
@@ -396,10 +397,11 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
          bailout 8
       fi
 
-      cp ${TEMPLATE_DIRECTORY}/boot/isolinux/*               "$BUILD_OUTPUT"/boot/isolinux/
-      cp ${TEMPLATE_DIRECTORY}/boot/isolinux/*               "$BUILD_OUTPUT"/boot/isolinux/
-      if ! [ -d "${TEMPLATE_DIRECTORY}/boot/grub" ] ; then
-         cp -a ${TEMPLATE_DIRECTORY}/boot/grub                  "$BUILD_OUTPUT"/boot/
+      cp ${TEMPLATE_DIRECTORY}/boot/isolinux/*  "$BUILD_OUTPUT"/boot/isolinux/
+      cp ${TEMPLATE_DIRECTORY}/boot/isolinux/*  "$BUILD_OUTPUT"/boot/isolinux/
+
+      if ! [ -d "${BUILD_OUTPUT}/boot/grub" ] ; then
+         cp -a ${TEMPLATE_DIRECTORY}/boot/grub  "$BUILD_OUTPUT"/boot/
       fi
 
       if ! [ -d "${TEMPLATE_DIRECTORY}"/GRML ] ; then
@@ -464,7 +466,7 @@ if [ -f "$BUILD_OUTPUT"/live/grml.squashfs -a -z "$UPDATE" ] ; then
    log "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'"
    ewarn "$BUILD_OUTPUT/live exists already, skipping stage 'squashfs'" ; eend 0
 else
-   mkdir "$BUILD_OUTPUT"/live
+   [ -d "$BUILD_OUTPUT"/live ] || mkdir "$BUILD_OUTPUT"/live
    mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/grml.squashfs -noappend
    log "Finished execution of stage 'squashfs' [$(date)]"
    einfo "Finished execution of stage 'squashfs'" ; eend 0