X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=grml-live;h=dbc43fc20ae13bf2dee60e0b5ca4db3ed5c4da4b;hp=00e4a7ec9fe507559504eaa057a66f82f88b8994;hb=896a6c8d2654fdc1b8db0bb9abf85ae3e8babec2;hpb=1be31a7dd61ad5d081540a4b1c489ae2586ef69c diff --git a/grml-live b/grml-live index 00e4a7e..dbc43fc 100755 --- a/grml-live +++ b/grml-live @@ -61,6 +61,7 @@ PN=$(basename $0) # clean exit {{{ bailout() { [ -n "$MIRROR_DIRECTORY" ] && umount "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}" + rm -f /var/run/fai/fai_softupdate_is_running /var/run/fai/FAI_INSTALLATION_IN_PROGRESS [ -n "$1" ] && EXIT="$1" || EXIT="1" [ -n "$2" ] && eerror "$2">&2 log "------------------------------------------------------------------------------" @@ -305,6 +306,15 @@ else FAI_ACTION=dirinstall fi +if [ -n "$UPDATE" ] ; then + if ! [ -r "$CHROOT_OUTPUT/etc/grml_version" ] ; then + log "Error: It does not look like you have a working chroot system. Updating not possible." + eerror "Error: It does not look like you have a working chroot system. Updating not possible." + eend 1 + bailout 20 + fi +fi + if [ -d "$CHROOT_OUTPUT/bin" -a -z "$UPDATE" ] ; then log "$CHROOT_OUTPUT exists already, skipping stage 'fai dirinstall'" ewarn "$CHROOT_OUTPUT exists already, skipping stage 'fai dirinstall'" ; eend 0 @@ -374,7 +384,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/ @@ -387,10 +398,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 @@ -435,6 +447,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then ( cd "$BUILD_OUTPUT"/windows for file in pageant plink pscp psftp putty puttygen ; do wget -O ${file}.exe ${WINDOWS_BINARIES}/${file}.exe + md5sum ${WINDOWS_BINARIES}/${file}.exe > ${WINDOWS_BINARIES}/${file}.exe.md5 done ) fi fi @@ -455,7 +468,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