X-Git-Url: https://git.grml.org/?p=grml-autoconfig.git;a=blobdiff_plain;f=autoconfig.functions;h=6909dccd90dfc78db59e452b1126763a262effb8;hp=7960772e10f23223702eaf65e3fbf84a699dc7db;hb=1039de1e609003d2414e59207863133cb12bf774;hpb=e54ae72e08c71669fccc297c9500e1d8e83447ca diff --git a/autoconfig.functions b/autoconfig.functions index 7960772..6909dcc 100755 --- a/autoconfig.functions +++ b/autoconfig.functions @@ -4,7 +4,7 @@ # Authors: grml-team (grml.org), (c) Klaus Knopper , (c) Michael Prokop # Bug-Reports: see http://grml.org/bugs/ # License: This file is licensed under the GPL v2. -# Latest change: Mon Apr 16 19:32:25 CEST 2007 [mika] +# Latest change: Sam Mai 12 00:46:15 CEST 2007 [mika] ################################################################################ # {{{ path, variables, signals, umask, zsh @@ -1046,8 +1046,12 @@ if [ -z "$INSTALLED" ] ; then if grep -q $p /proc/swaps ; then ewarn "Not using swap partition ${WHITE}${p}${NORMAL} as it is already in use." ; eend 0 else + if [ -b "$p" ] ; then einfo "Using swap partition ${WHITE}${p}${NORMAL}." swapon $p 2>>$DEBUG ; eend $? + else + ewarn "$p is not a valid block device - not using it therefore." ; eend 0 + fi fi ;; esac # dd-check @@ -1068,14 +1072,16 @@ if [ -z "$INSTALLED" ] ; then # use a swapfile if [ -z "$NOSWAP" ] ; then - mount -o "$MOUNTOPTS" -t $f $p $m 2>>$DEBUG || continue + mount -o "$MOUNTOPTS" -t $f $p $m 2>>$DEBUG && MOUNTED=1 || continue # Activate swapfile, if exists SWAPFILE="$(/bin/ls -1d $m/[Gg][Rr][Mm][Ll].[Ss][Ww][Pp] 2>/dev/null)" fi if [ -z "$NOSWAP" -a -n "$SWAPFILE" -a -f "$SWAPFILE" ]; then mount -o remount,rw $m && MOUNTED=1 if swapon "$SWAPFILE" 2>>$DEBUG ; then - einfo "Using GRML swapfile ${SWAPFILE}." + eindent + einfo "Using GRML swapfile ${WHITE}${SWAPFILE}${NORMAL}." + eoutdent fnew="$SWAPFILE swap swap defaults 0 0" stringinfile "$fnew" "/etc/fstab" || echo "$fnew" >> /etc/fstab GRML_SWP="$GRML_SWP $SWAPFILE" @@ -2150,20 +2156,28 @@ config_debootstrap(){ if stringinstring "BOOT_IMAGE=debian2hd " "$CMDLINE" ; then +einfo "Bootoption debian2hd found. Setting up environment for automatic installation via grml-debootstrap." ; eend 0 + if ! [ -x /usr/sbin/grml-debootstrap ] ; then + eindent eerror "Bootoption debian2hd found, but grml-debootstrap is not available." ; eend 1 - eerror "Dropping you to a shell, just exit it to continue booting." ; eend 1 - /bin/zsh + eoutdent + exit 1 fi -if checkbootparam "partition" ; then - PARTITION='' - PARTITION="$(getbootparam 'partition' 2>>$DEBUG)" +if checkbootparam "target" ; then + TARGET='' + TARGET="$(getbootparam 'target' 2>>$DEBUG)" # notice: the following checks whether the given partition is available, if not the skip # execution of grml-debootstrap as it might result in data loss... - if ! [ -r $PARTITION ] ; then - ewarn "Partition $PARTITION does not exist. Skipping execution of grml-debootstrap therefore." ; eend 1 + if ! [ -r "$TARGET" ] ; then + eerror "Target $TARGET does not exist. Skipping execution of grml-debootstrap therefore." ; eend 1 fi +else + eindent + eerror "No bootoption named target found, can not continue execution of grml-debootstrap." ; eend 1 + eoutdent + exit 1 fi if checkbootparam "grub" ; then @@ -2186,34 +2200,44 @@ if checkbootparam "mirror" ; then MIRROR="$(getbootparam 'mirror' 2>>$DEBUG)" fi +if checkbootparam "boot_append" ; then + BOOT_APPEND='' + BOOT_APPEND="$(getbootparam 'boot_append' 2>>$DEBUG)" +fi + if checkbootparam "password" ; then PASSWORD='' PASSWORD="$(getbootparam 'password' 2>>$DEBUG)" fi # now check which options are available -if [ -n "PARTITION" ] ; then - PARTITIONCMD="--target $PARTITION" +if [ -n "TARGET" ] ; then + TARGETCMD="--target $TARGET" else - PARTITIONCMD='' - ewarn "Partion not set via bootoption. Skipping execution of grml-debootstrap therefore."; eend 1 + TARGETCMD='' + eindent + eerror "Target not set via bootoption. Skipping execution of grml-debootstrap therefore."; eend 1 + eoutdent + exit 1 fi [ -n "$GRUB" ] && GRUBCMD="--grub $GRUB" || GRUBCMD='' [ -n "$GROOT" ] && GROOTCMD="--groot $GROOT" || GROOTCMD='' [ -n "$RELEASE" ] && RELEASECMD="--release $RELEASE" || RELEASECMD='' [ -n "$MIRROR" ] && MIRRORCMD="--mirror $MIRROR" || MIRRORCMD='' -[ -n "$PASSWORD" ] && PASSWORDCMD="--password $PASSWORD" ] || PASSWORDCMD='' +[ -n "$PASSWORD" ] && PASSWORDCMD="--password $PASSWORD" || PASSWORDCMD='' +[ -n "$BOOT_APPEND" ] && BOOT_APPEND="--boot_append $BOOT_APPEND" || BOOT_APPEND='' # and finally write script and execute it cat>|/usr/bin/grml-debootstrap_noninteractive<