+Arguments ()
+{
+ PRESEEDS=""
+
+ for ARGUMENT in `cat /proc/cmdline`
+ do
+ case "${ARGUMENT}" in
+ access=*)
+ ACCESS="${ARGUMENT#access=}"
+ export ACCESS
+ ;;
+
+ console=*)
+ DEFCONSOLE="${ARGUMENT#*=}"
+ export DEFCONFSOLE
+ ;;
+
+ debug)
+ DEBUG="Yes"
+ export DEBUG
+
+ set -x
+ ;;
+
+ fetch=*)
+ FETCH="${ARGUMENT#fetch=}"
+ export FETCH
+ ;;
+
+ hostname=*)
+ HOSTNAME="${ARGUMENT#hostname=}"
+ LIVECONF="changed"
+ export HOSTNAME LIVECONF
+ ;;
+
+ username=*)
+ USERNAME="${ARGUMENT#username=}"
+ LIVECONF="changed"
+ export USERNAME LIVECONF
+ ;;
+
+ userfullname=*)
+ USERFULLNAME="${ARGUMENT#userfullname=}"
+ LIVECONF="changed"
+ export USERFULLNAME LIVECONF
+ ;;
+
+ ip=*)
+ STATICIP="${ARGUMENT#ip=}"
+
+ if [ -z "${STATICIP}" ]
+ then
+ STATICIP="frommedia"
+ fi
+
+ export STATICIP
+ ;;
+
+ keyb=*|kbd-chooser/method=*)
+ KBD="${ARGUMENT#*=}"
+ export KBD
+ ;;
+
+ klayout=*|console-setup/layoutcode=*)
+ KLAYOUT="${ARGUMENT#*=}"
+ export KLAYOUT
+ ;;
+
+ kvariant=*|console-setup/variantcode=*)
+ KVARIANT="${ARGUMENT#*=}"
+ export KVARIANT
+ ;;
+
+ kmodel=*|console-setup/modelcode=*)
+ KMODEL="${ARGUMENT#*=}"
+ export KMODEL
+ ;;
+
+ koptions=*)
+ KOPTIONS="${ARGUMENT#koptions=}"
+ export KOPTIONS
+ ;;
+
+ live-getty)
+ LIVE_GETTY="1"
+ export LIVE_GETTY
+ ;;
+
+ live-media=*|bootfrom=*)
+ LIVE_MEDIA="${ARGUMENT#*=}"
+ export LIVE_MEDIA
+ ;;
+
+ live-media-encryption=*|encryption=*)
+ LIVE_MEDIA_ENCRYPTION="${ARGUMENT#*=}"
+ export LIVE_MEDIA_ENCRYPTION
+ ;;
+
+ live-media-offset=*)
+ LIVE_MEDIA_OFFSET="${ARGUMENT#live-media-offset=}"
+ export LIVE_MEDIA_OFFSET
+ ;;
+
+ live-media-path=*)
+ LIVE_MEDIA_PATH="${ARGUMENT#live-media-path=}"
+ export LIVE_MEDIA_PATH
+ ;;
+
+ live-media-timeout=*)
+ LIVE_MEDIA_TIMEOUT="${ARGUMENT#live-media-timeout=}"
+ export LIVE_MEDIA_TIMEOUT
+ ;;
+
+ locale=*|debian-installer/locale=*)
+ LOCALE="${ARGUMENT#*=}"
+ export LOCALE
+ ;;
+
+ module=*)
+ MODULE="${ARGUMENT#module=}"
+ export MODULE
+ ;;
+
+ netboot=*)
+ NETBOOT="${ARGUMENT#netboot=}"
+ export NETBOOT
+ ;;
+
+ nfsopts=*)
+ NFSOPTS="${ARGUMENT#nfsopts=}"
+ export NFSOPTS
+ ;;
+
+ noautologin)
+ NOAUTOLOGIN="Yes"
+ export NOAUTOLOGIN
+ ;;
+
+ noxautologin)
+ NOXAUTOLOGIN="Yes"
+ export NOXAUTOLOGIN
+ ;;
+
+ nofastboot)
+ NOFASTBOOT="Yes"
+ export NOFASTBOOT
+ ;;
+
+ nopersistent)
+ PERSISTENT=""
+ export PERSISTENT
+ ;;
+
+ nosudo)
+ NOSUDO="Yes"
+ export NOSUDO
+ ;;
+
+ noswap)
+ NOSWAP="Yes"
+ export NOSWAP
+ ;;
+
+ persistent)
+ PERSISTENT="Yes"
+ export PERSISTENT
+ ;;
+
+ preseed/file=*|file=*)
+ LOCATION="${ARGUMENT#*=}"
+ export LOCATION
+ ;;
+
+ url=*)
+ location="${ARGUMENT#url=}"
+
+ mount -n -o bind /sys /root/sys
+ mount -n -o bind /proc /root/proc
+ mount -n -o bind /dev /root/dev
+
+ mkdir -p /root/var/run/network
+ chroot /root ifup -a
+ chroot /root wget -P /tmp "$location"
+ chroot /root ifdown -a
+
+ umount /root/sys
+ umount /root/proc
+ umount /root/dev
+
+ LOCATION="/tmp/$(basename "$location")"
+ ;;
+
+ */*=*)
+ question="${ARGUMENT%%=*}"
+ value="${ARGUMENT#*=}"
+ PRESEEDS="${PRESEEDS}\"${question}=${value}\" "
+ export PRESEEDS
+ ;;
+
+ showmounts)
+ SHOWMOUNTS="Yes"
+ export SHOWMOUNTS
+ ;;
+
+ timezone=*)
+ TIMEZONE="${ARGUMENT#timezone=}"
+ export TIMEZONE
+ ;;
+
+ todisk=*)
+ TODISK="${ARGUMENT#todisk=}"
+ export TODISK
+ ;;
+
+ toram)
+ TORAM="Yes"
+ export TORAM
+ ;;
+
+ union=*)
+ UNIONTYPE="${ARGUMENT#union=}"
+ export UNIONTYPE
+ ;;
+
+ utc=*)
+ UTC="${ARGUMENT#utc=}"
+ export UTC
+ ;;
+
+ xdebconf)
+ XDEBCONF="Yes"
+ export XDEBCONF
+ ;;
+
+ xvideomode=*)
+ XVIDEOMODE="${ARGUMENT#xvideomode=}"
+ export XVIDEOMODE
+ ;;
+ 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
+ fi
+
+ if [ -z "${MODULE}" ]
+ then
+ MODULE="filesystem"
+ export MODULE
+ fi
+
+ if [ -z "${UNIONTYPE}" ]
+ then
+ UNIONTYPE="unionfs"
+ export UNIONTYPE
+ fi
+}
+
+is_live_path()
+{
+ DIRECTORY="${1}"
+
+ if [ -d "${DIRECTORY}"/"${LIVE_MEDIA_PATH}" ]
+ then
+ for FILESYSTEM in squashfs ext2 ext3 xfs dir
+ do
+ if [ "`echo ${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM}`" != "${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM}" ]
+ then
+ return 0
+ fi
+ done
+ fi
+
+ return 1