X-Git-Url: https://git.grml.org/?p=grml-live.git;a=blobdiff_plain;f=grml-live;h=393b974470405a8129c2a44c04bdde6fb459a515;hp=9aa0f24a5277888bae202afce7fd2adf727ec3ea;hb=e633958a4e70261c7973b755c41c218fa6a8f1a8;hpb=a39c4cb4545e64eb037f4e5fa2c3ac20a0b0f3c0 diff --git a/grml-live b/grml-live index 9aa0f24..393b974 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' +GRML_LIVE_VERSION='0.9.5' PN="$(basename $0)" CMDLINE="$0 $@" ISO_DATE="$(date +%Y-%m-%d)" @@ -49,7 +49,7 @@ Usage examples: $PN $PN -c GRMLBASE,GRML_MEDIUM,I386 -o /dev/shm/grml - $PN -c GRMLBASE,GRML_SMALL,I386 -g grml-small -v 1.0 + $PN -c GRMLBASE,GRML_SMALL,REMOVE_DOCS,I386 -g grml-small -v 1.0 $PN -c GRMLBASE,GRML_FULL,I386 -i grml_0.0-1.iso -v 0.0-1 $PN -c GRMLBASE,GRML_FULL,I386 -s sid -V -r 'grml-live rocks' @@ -246,6 +246,10 @@ specify it on the command line using the -o option." # trim characters that are known to cause problems inside $GRML_NAME; # for example isolinux does not like '-' inside the directory name [ -n "$GRML_NAME" ] && export SHORT_GRML_NAME="$(echo $GRML_NAME | tr -d ',./;\- ')" + +# export variables to have them available in fai scripts: +[ -n "$GRML_NAME" ] && export GRML_NAME="$GRML_NAME" +[ -n "$RELEASENAME" ] && export RELEASENAME="$RELEASENAME" # }}} # clean/zero grml-live logfile {{{ @@ -423,6 +427,10 @@ else log "Setting /etc/grml_version to $GRML_NAME $VERSION Release Codename $RELEASENAME [$ISO_DATE]" echo "$GRML_NAME $VERSION Release Codename $RELEASENAME [$ISO_DATE]" > $CHROOT_OUTPUT/etc/grml_version chmod 644 $CHROOT_OUTPUT/etc/grml_version + einfo "Rebuilding initramfs" + # make sure new /etc/grml_version reaches the initramfs: + chroot $CHROOT_OUTPUT update-initramfs -u -t + eend $? fi # Remove all FAI logs from chroot if class RELEASE is used: @@ -474,11 +482,13 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then ewarn "$BUILD_OUTPUT/boot exists already, skipping stage 'boot'" ; eend 0 else # booting stuff: - [ -d "$BUILD_OUTPUT"/boot/addons ] || mkdir -p "$BUILD_OUTPUT"/boot/addons [ -d "$BUILD_OUTPUT"/boot/isolinux ] || mkdir -p "$BUILD_OUTPUT"/boot/isolinux [ -d "$BUILD_OUTPUT"/boot/"${SHORT_GRML_NAME}" ] || mkdir -p "$BUILD_OUTPUT"/boot/"${SHORT_GRML_NAME}" - cp /boot/memtest86+.bin "$BUILD_OUTPUT"/boot/addons/memtest + 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 + fi # if we don't have an initrd we a) can't boot and b) there was an error # during build, so check for the file: @@ -509,7 +519,10 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then fi cp ${TEMPLATE_DIRECTORY}/boot/isolinux/* "$BUILD_OUTPUT"/boot/isolinux/ - cp ${TEMPLATE_DIRECTORY}/boot/addons/* "$BUILD_OUTPUT"/boot/addons/ + + if [ -z "$NO_ADDONS" ] ; then + cp ${TEMPLATE_DIRECTORY}/boot/addons/* "$BUILD_OUTPUT"/boot/addons/ + fi if ! [ -d "${BUILD_OUTPUT}/boot/grub" ] ; then cp -a ${TEMPLATE_DIRECTORY}/boot/grub "$BUILD_OUTPUT"/boot/ @@ -600,9 +613,29 @@ else fi if echo "$SQUASHFS_OPTIONS" | grep -q -- "-nolzma" ; then - ewarn "mksquashfs does NOT support the nolzma option, falling back to zlib mode." - SQUASHFS_OPTIONS="$(echo $SQUASHFS_OPTIONS | sed 's/-nolzma//g')" - eend 0 + if ! mksquashfs --help 2>&1 | grep -q -- '-nolzma' ; then + ewarn "mksquashfs does NOT support the nolzma option, just using default zlib mode." + SQUASHFS_OPTIONS="$(echo $SQUASHFS_OPTIONS | sed 's/-nolzma//g')" + eend 0 + fi + fi + + if echo "$SQUASHFS_OPTIONS" | grep -q -- "-lzma" ; then + if ! mksquashfs --help 2>&1 | grep -q -- '-lzma' ; then + ewarn "mksquashfs does NOT support the lzma option, falling back to zlib mode." + SQUASHFS_OPTIONS="$(echo $SQUASHFS_OPTIONS | sed 's/-lzma//g')" + eend 0 + fi + fi + + # support exclusion of files via exclude-file: + if [ -n "$SQUASHFS_EXCLUDES_FILE" -a "$SQUASHFS_EXCLUDES_FILE" ] ; then + SQUASHFS_OPTIONS="$SQUASHFS_OPTIONS -ef $SQUASHFS_EXCLUDES_FILE" + fi + + # 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*" fi SQUASHFS_OUTPUT="$(mktemp -t grml-live.XXXXXX)"