# Get a bootoption's parameter: read boot command line and either
# echo last parameter's argument or return false.
getbootparam(){
- case "$CMDLINE" in
- *$1=*)
- result="${CMDLINE##* $1=}"
- result="${result%%[ ]*}"
+ local line
+ local ws
+ ws=' '
+ line=" $CMDLINE "
+ case "$line" in
+ *[${ws}]"$1="*)
+ result="${line##*[$ws]$1=}"
+ result="${result%%[$ws]*}"
echo "$result"
return 0 ;;
*) # no match?
# Check boot commandline for specified option
checkbootparam(){
[ -n "$1" ] || ( echo "Error: missing argument to checkbootparam()" ; return 1 )
- # make sure we match beginning and end of line as well
- # but don't match 'vg' if we want to check for 'vga'
- if echo "$CMDLINE" | grep -qw "$1" ; then
- return 0
- else
- return 1
- fi
+ local line
+ local ws
+ ws=' '
+ line=" $CMDLINE "
+ case "$line" in
+ *[${ws}]"$1"=*|*[${ws}]"$1"[${ws}]*)
+ return 0 ;;
+ *)
+ return 1 ;;
+ esac
}
# Check wheter a configuration variable (like $CONFIG_TOHD) is
config_x_startup(){
# make sure we start X only if startx is used *before* a nostartx option
# so it's possible to disable automatic X startup using nostart
-if checkbootparam 'startx' && ! grep -q 'startx.*nostartx' "$CMDLINE" ; then
+if checkbootparam 'startx' && ! echo "$CMDLINE" | grep -q 'startx.*nostartx' ; then
if [ -x /usr/X11R6/bin/X ] ; then
if [ -z "$INSTALLED" ] ; then
WINDOWMANAGER="$(getbootparam 'startx' 2>>$DEBUG)"
fi
DCSDIR="/mnt/grml"
fi
+ else
+ DCSDIR="/live/image"
fi
fi
fi