+if [ ! -f /casper.vars ]; then
+ touch /casper.vars
+fi
+
+parse_cmdline ()
+{
+ PRESEEDS=
+ # looking for casper specifics options as kernel parameters
+ for x in $(cat /proc/cmdline); do
+ case $x in
+ userfullname=*)
+ export USERFULLNAME=${x#userfullname=}
+ export CASPERCONF="changed"
+ ;;
+ hostname=*)
+ export HOSTNAME=${x#hostname=}
+ export CASPERCONF="changed"
+ ;;
+ username=*)
+ export USERNAME=${x#username=}
+ export CASPERCONF="changed"
+ ;;
+ netboot*)
+ export NETBOOT=${x#netboot=} ;;
+ access=*)
+ export ACCESS=${x#access=} ;;
+ xdebconf)
+ export XDEBCONF="Yes" ;;
+ toram)
+ export TORAM="Yes" ;;
+ todisk=*)
+ export TODISK=${x#todisk=} ;;
+ showmounts)
+ export SHOWMOUNTS="Yes" ;;
+ persistent)
+ export PERSISTENT="Yes" ;;
+ nopersistent)
+ export PERSISTENT="" ;;
+ ip*)
+ STATICIP=${x#ip=}
+ if [ "${STATICIP}" == "" ]; then
+ STATICIP="frommedia"
+ fi
+ export STATICIP ;;
+ casper-getty)
+ export CASPERGETTY=1 ;;
+ bootfrom=*|live-media=*)
+ export LIVEMEDIA=${x#*=} ;;
+ live-media-timeout=*)
+ export LIVEMEDIA_TIMEOUT=${x#live-media-timeout=} ;;
+ locale=*|debian-installer/locale=*)
+ export LOCALE=${x#*=} ;;
+ keyb=*|kbd-chooser/method=*)
+ export KBD=${x#*=} ;;
+ klayout=*|console-setup/layoutcode=*)
+ export KLAYOUT=${x#*=} ;;
+ koptions=*)
+ export KOPTIONS=${x#koptions=} ;;
+ kvariant=*|console-setup/variantcode=*)
+ export KVARIANT=${x#*=} ;;
+ kmodel=*|console-setup/modelcode=*)
+ export KMODEL=${x#*=} ;;
+ preseed/file=*|file=*)
+ export LOCATION="${x#*=}" ;;
+ */*=*)
+ question="${x%%=*}"
+ value="${x#*=}"
+ PRESEEDS="${PRESEEDS}\"${question}=${value}\" "
+ ;;
+ console=*)
+ export DEFCONSOLE=$(sed -e 's%.*console=%console=%' /proc/cmdline) ;;
+ esac
+ done
+
+ # sort of compatibility with netboot.h from linux docs
+ if [ -z "${NETBOOT}" ]; then
+ if [ "${ROOT}" == "/dev/nfs" ]; then
+ NETBOOT="nfs"
+ export NETBOOT
+ elif [ "${ROOT}" == "/dev/cifs" ]; then
+ NETBOOT="cifs"
+ export NETBOOT
+ fi