X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=grml-live;h=0e0a63945fbbb51fe3211f694d9ce4fc0ca97e1a;hb=d1297b5e657d6e792acfb24d97d56d3bc4dd5350;hp=a36d734dad07cf7a14ec523cbd157e19d7e43883;hpb=e4040d5c109eedf9316190a415fe7bc90c0e30dc;p=grml-live.git diff --git a/grml-live b/grml-live index a36d734..0e0a639 100755 --- a/grml-live +++ b/grml-live @@ -14,7 +14,7 @@ export LC_ALL=C # exit on any error: set -e -GRML_LIVE_VERSION='0.9.10' +GRML_LIVE_VERSION='0.9.18' PN="$(basename $0)" CMDLINE="$0 $@" ISO_DATE="$(date +%Y-%m-%d)" @@ -552,19 +552,26 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/ if [ -z "$NO_ADDONS" ] ; then - # copy only files so we can handle bsd4grml on its own - for file in ${TEMPLATE_DIRECTORY}/boot/addons/* ; do - test -f $file && cp $file "$BUILD_OUTPUT"/boot/addons/ - done + if ! [ -d /usr/share/grml-live/templates/boot/addons/bsd4grml ] ; then + ewarn "Boot addons not found, skipping therefor. (Consider installing package grml-live-addons)" ; eend 0 + else + # copy only files so we can handle bsd4grml on its own + for file in ${TEMPLATE_DIRECTORY}/boot/addons/* ; do + test -f $file && cp $file "$BUILD_OUTPUT"/boot/addons/ + done - if [ -z "$NO_ADDONS_BSD4GRML" ] ; then - cp -a ${TEMPLATE_DIRECTORY}/boot/addons/bsd4grml "$BUILD_OUTPUT"/boot/addons/ + if [ -z "$NO_ADDONS_BSD4GRML" ] ; then + cp -a ${TEMPLATE_DIRECTORY}/boot/addons/bsd4grml "$BUILD_OUTPUT"/boot/addons/ + fi fi fi if ! [ -d "${BUILD_OUTPUT}/boot/grub" ] ; then cp -a ${TEMPLATE_DIRECTORY}/boot/grub "$BUILD_OUTPUT"/boot/ fi + # make sure we have recent template files available, otherwise updating + # the strings like $GRML_NAME and $VERSION might be out of date + cp ${TEMPLATE_DIRECTORY}/boot/grub/* "$BUILD_OUTPUT"/boot/grub/ if ! [ -d "${TEMPLATE_DIRECTORY}"/GRML ] ; then log "${TEMPLATE_DIRECTORY}/GRML does not exist. Exiting." @@ -595,14 +602,19 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then sed -i "s/%VERSION%/$VERSION/" "$BUILD_OUTPUT"/boot/grub/menu.lst sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/grub/menu.lst + 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 + # make sure the squashfs filename is set accordingly: GRML_NAME_SQUASHFS="$GRML_NAME.squashfs" sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/isolinux.cfg sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/syslinux.cfg + sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/grub/menu.lst GRML_NAME_SQUASHFS="$(cut_string 20 "$GRML_NAME_SQUASHFS")" GRML_NAME_SQUASHFS="$(extend_string_end 20 "$GRML_NAME_SQUASHFS")" sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/f4 + sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/f5 # autostart for Windows: if [ -d "${TEMPLATE_DIRECTORY}/windows/autostart/" ] ; then @@ -726,6 +738,33 @@ else -b $BOOT_FILE \ -o "${ISO_OUTPUT}/${ISO_NAME}" . ; RC=$? + # support disabling hybrid ISO image + if [ "$HYBRID_METHOD" = "disable" ] ; then\ + log "Skipping creation of hybrid ISO file as requested via HYBRID_METHOD=disable" + einfo "Skipping creation of hybrid ISO file as requested via HYBRID_METHOD=disable" + eend 0 + # use isohybrid only on request + elif [ "$HYBRID_METHOD" = "isohybrid" ] ; then + if ! which isohybrid >/dev/null 2>&1 ; then + bailout 12 "isohybrid binary not found - please install syslinux/syslinux-common" + else + log "Creating hybrid ISO file with isohybrid method" + einfo "Creating hybrid ISO file with isohybrid method" + isohybrid "${ISO_OUTPUT}/${ISO_NAME}" + eend $? + fi + # by default use our manifold boot method: + else + if ! [ -r boot/grub/core.img ] ; then + ewarn "boot/grub/core.img not found, not creating manifold boot ISO file" + else + log "Creating hybrid ISO file with manifold method" + einfo "Creating hybrid ISO file with manifold method" + echo 1 63 | mksh /usr/share/grml-live/scripts/bootgrub.mksh | cat - boot/grub/core.img | dd conv=notrunc of="${ISO_OUTPUT}/${ISO_NAME}" conv=notrunc + eend $? + fi + fi + # generate md5sum and sha1sum of ISO if we are using class 'RELEASE': case $CLASSES in *RELEASE*) [ "$RC" = 0 ] && \