X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=grml-live;h=1e9b61c7f5f2e34d969653237ce84295e55f80c7;hb=7cdd1c7358110aa29778a68a9551b4609f7498ec;hp=8a1f44f0315785ea3e63a4ac28808b39820b71b2;hpb=25fbdfdedf2ab22044ced05f4747bb8a663ae717;p=grml-live.git diff --git a/grml-live b/grml-live index 8a1f44f..1e9b61c 100755 --- a/grml-live +++ b/grml-live @@ -23,7 +23,7 @@ fi set -e # global variables -GRML_LIVE_VERSION='0.9.21' +GRML_LIVE_VERSION='0.9.22' PN="$(basename $0)" CMDLINE="$0 $@" ISO_DATE="$(date +%Y-%m-%d)" @@ -132,6 +132,7 @@ LIVE_CONF=/etc/grml/grml-live.conf bailout() { rm -f /var/run/fai/fai_softupdate_is_running \ /var/run/fai/FAI_INSTALLATION_IN_PROGRESS + [ -n "$SQUASHFS_STDERR" ] && rm -rf "$SQUASHFS_STDERR" [ -n "$MIRROR_DIRECTORY" ] && umount "${CHROOT_OUTPUT}/${MIRROR_DIRECTORY}" [ -n "$1" ] && EXIT="$1" || EXIT="1" [ -n "$2" ] && eerror "$2">&2 @@ -470,7 +471,7 @@ else fi if [ -n "$UPDATE" -o -n "$BUILD_ONLY" ] ; then - if ! [ -r "$CHROOT_OUTPUT/etc/grml_version" ] ; then + if ! [ -r "$CHROOT_OUTPUT/etc/debian_version" ] ; then log "Error: does not look like you have a working chroot. Updating/building not possible." eerror "Error: does not look like you have a working chroot. Updating/building not possible. (Drop -u/-b option?)" eend 1 @@ -551,6 +552,9 @@ else einfo "Finished execution of stage 'fai dirinstall'" fi + einfo "Find FAI build logs at $(readlink -f /var/log/fai/$HOSTNAME/last)." + log "Find FAI build logs at $(readlink -f /var/log/fai/$HOSTNAME/last)." + eend 0 fi fi # BUILD_DIRTY? # }}} @@ -571,7 +575,17 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then if [ -z "$NO_ADDONS" ] ; then [ -d "$BUILD_OUTPUT"/boot/addons ] || mkdir -p "$BUILD_OUTPUT"/boot/addons - cp /boot/memtest86+.bin "$BUILD_OUTPUT"/boot/addons/memtest + if [ -r "$TEMPLATE_DIRECTORY"/boot/addons/memtest ] ; then + log "Installing $TEMPLATE_DIRECTORY/boot/addons/memtest" + cp "$TEMPLATE_DIRECTORY"/boot/addons/memtest "$BUILD_OUTPUT"/boot/addons/memtest + elif [ -r /boot/memtest86+.bin ] ; then + log "Installing /boot/memtest86+.bin" + cp /boot/memtest86+.bin "$BUILD_OUTPUT"/boot/addons/memtest + else + ewarn "No memtest binary found, skipping." + log "No memtest binary found, skipping." + eend 0 + fi fi # if we don't have an initrd we a) can't boot and b) there was an error @@ -662,8 +676,16 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then sed -i "s/%VERSION%/$VERSION/" "$BUILD_OUTPUT"/boot/grub/grub.cfg sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/grub/grub.cfg + if [ -r "${BUILD_OUTPUT}/boot/isolinux/${DISTRI_NAME}.cfg" ] ; then + sed -i "s/%VERSION%/$VERSION/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg + sed -i "s/%GRML_LONG_NAME%/$DISTRI_NAME/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg + sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg + sed -i "s/%ARCH%/$ARCH/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg + fi + sed -i "s/%VERSION%/$VERSION/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg - sed -i "s/%GRML_NAME%/$GRML_NAME/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg + sed -i "s/%GRML_LONG_NAME%/$GRML_NAME/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg + sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg sed -i "s/%ARCH%/$ARCH/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg sed -i "s/%DISTRI_INFO%/$DISTRI_INFO/" "$BUILD_OUTPUT"/boot/isolinux/vesamenu.cfg @@ -724,17 +746,17 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then fi # jump back to grub from bsd4grml: + if [ -e "$BUILD_OUTPUT"/boot/grub/stage2 ]; then + GRUB_LEGACY=stage2 + else + GRUB_LEGACY=stage2_eltorito + fi if [ -e "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.6 ]; then if [ -e "$BUILD_OUTPUT"/boot/grub/core.img ]; then GRUB_VERSION=2 else GRUB_VERSION=1 fi - if [ -e "$BUILD_OUTPUT"/boot/grub/stage2 ]; then - GRUB_LEGACY=stage2 - else - GRUB_LEGACY=stage2_eltorito - fi # why not ed(1)? for file in "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.6 \ @@ -742,6 +764,15 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then sed -i -e "s!%GRUB_VERSION%!$GRUB_VERSION!g" \ -e "s!%GRUB_LEGACY%!$GRUB_LEGACY!g" "$file" done + + sed -i "s/%RELEASE_INFO%/$GRML_NAME $VERSION - $RELEASENAME/" "$BUILD_OUTPUT"/boot/addons/bsd4grml/boot.6 + fi + if [ -e "$BUILD_OUTPUT"/boot/grub/$GRUB_LEGACY ]; then + sed -i "s/%GRUB_LEGACY%/$GRUB_LEGACY/g" "$BUILD_OUTPUT"/boot/grub/menu.lst + sed -i "s/%GRUB_LEGACY%/$GRUB_LEGACY/g" "$BUILD_OUTPUT"/boot/grub/grub.cfg + else + sed -i "/%GRUB_LEGACY%/d" "$BUILD_OUTPUT"/boot/grub/menu.lst + sed -i "/%GRUB_LEGACY%/d" "$BUILD_OUTPUT"/boot/grub/grub.cfg fi # autostart for Windows: @@ -834,23 +865,22 @@ else # get rid of unnecessary files when building grml-small for final release: if echo "$CLASSES" | grep -q GRML_SMALL ; then - SQUASHFS_OPTIONS="$SQUASHFS_OUTPUT -e initrd.img* vmlinuz*" + SQUASHFS_OPTIONS="$SQUASHFS_OPTIONS -e initrd.img* vmlinuz*" fi - SQUASHFS_OUTPUT="$(mktemp -t grml-live.XXXXXX)" + SQUASHFS_STDERR="$(mktemp -t grml-live.XXXXXX)" + log "mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/${GRML_NAME}.squashfs -noappend $SQUASHFS_OPTIONS $SQUASHFS_ZLIB" if mksquashfs $CHROOT_OUTPUT/* $BUILD_OUTPUT/live/"${GRML_NAME}".squashfs \ - -noappend $SQUASHFS_OPTIONS $SQUASHFS_ZLIB 2>"${SQUASHFS_OUTPUT}" ; then + -noappend $SQUASHFS_OPTIONS $SQUASHFS_ZLIB 2>"${SQUASHFS_STDERR}" ; then echo "${GRML_NAME}.squashfs" > $BUILD_OUTPUT/live/filesystem.module log "Finished execution of stage 'squashfs' [$(date)]" einfo "Finished execution of stage 'squashfs'" ; eend 0 - rm -f "${SQUASHFS_OUTPUT}" else log "There was an error executing stage 'squashfs' [$(date)]:" - log "$(cat $SQUASHFS_OUTPUT)" + log "$(cat $SQUASHFS_STDERR)" eerror "There was an error executing stage 'squashfs':" ; eend 1 - cat "${SQUASHFS_OUTPUT}" - rm -f "${SQUASHFS_OUTPUT}" + cat "${SQUASHFS_STDERR}" bailout fi