X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=c525c80c89980df9c912036c9b50593fb7114918;hb=7750592e832e06cf41c3f7a9b13ac343fea50898;hp=fd4a5e450cad30d611f745fb8ed9a3aee5dd87a6;hpb=5e1fc3b98b6346a087772c68f21fd56c7bf6aa42;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index fd4a5e4..c525c80 100755 --- a/scripts/live +++ b/scripts/live @@ -8,6 +8,7 @@ echo "/root/lib" >> /etc/ld.so.conf echo "/root/usr/lib" >> /etc/ld.so.conf mountpoint="/live/image" +alt_mountpoint="/media" LIVE_MEDIA_PATH="live" root_persistence="live-rw" @@ -33,9 +34,6 @@ then touch /etc/mtab fi -[ -f /etc/live.conf ] && . /etc/live.conf -export USERNAME USERFULLNAME HOSTNAME - . /scripts/live-helpers if [ ! -f /live.vars ] @@ -53,18 +51,14 @@ Arguments () case "${ARGUMENT}" in skipconfig) NOACCESSIBILITY="Yes" - NOAPTCDROM="Yes" NOAUTOLOGIN="Yes" NOCONSOLEKEYBOARD="Yes" NOFASTBOOT="Yes" NOFSTAB="Yes" - NOHOSTS="Yes" NONETWORKING="Yes" - NOTIMEZONE="Yes" NOXAUTOCONFIG="Yes" - NOXAUTOLOGIN="Yes" - export NOACCESSIBILITY NOAPTCDROM NOAUTOLOGIN NOCONSOLEKEYBOARD NOFASTBOOT NOFSTAB NOHOSTS NONETWORKING NOTIMEZONE NOXAUTOCONFIG NOXAUTOLOGIN + export NOACCESSIBILITY NOAUTOLOGIN NOCONSOLEKEYBOARD NOFASTBOOT NOFSTAB NONETWORKING NOXAUTOCONFIG ;; access=*) @@ -84,6 +78,17 @@ Arguments () set -x ;; + dhcp) + # Force dhcp even while netbooting + # Use for debugging in case somebody works on fixing dhclient + DHCP="Force"; + export DHCP + ;; + + nodhcp) + unset DHCP + ;; + ethdevice=*) DEVICE="${ARGUMENT#ethdevice=}" export DEVICE @@ -124,18 +129,6 @@ Arguments () export FROMISO ;; - username=*) - USERNAME="${ARGUMENT#username=}" - LIVECONF="changed" - export USERNAME LIVECONF - ;; - - userfullname=*) - USERFULLNAME="${ARGUMENT#userfullname=}" - LIVECONF="changed" - export USERFULLNAME LIVECONF - ;; - ignore_uuid) IGNORE_UUID="Yes" export IGNORE_UUID @@ -157,31 +150,6 @@ Arguments () 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 @@ -237,26 +205,11 @@ Arguments () export NOACCESSIBILITY ;; - noaptcdrom) - NOAPTCDROM="Yes" - export NOAPTCDROM - ;; - noautologin) NOAUTOLOGIN="Yes" export NOAUTOLOGIN ;; - noxautologin) - NOXAUTOLOGIN="Yes" - export NOXAUTOLOGIN - ;; - - noconsolekeyboard) - NOCONSOLEKEYBOARD="Yes" - export NOCONSOLEKEYBOARD - ;; - nofastboot) NOFASTBOOT="Yes" export NOFASTBOOT @@ -267,11 +220,6 @@ Arguments () export NOFSTAB ;; - nohosts) - NOHOSTS="Yes" - export NOHOSTS - ;; - nonetworking) NONETWORKING="Yes" export NONETWORKING @@ -287,11 +235,6 @@ Arguments () export NOXAUTOCONFIG ;; - noxscreensaver) - NOXSCREENSAVER="Yes" - export NOXSCREENSAVER - ;; - persistent) PERSISTENT="Yes" export PERSISTENT @@ -338,25 +281,6 @@ Arguments () export NOPRESEED ;; - url=*) - URL_LOCATION="${ARGUMENT#url=}" - - mount -o bind /sys /root/sys - mount -o bind /proc /root/proc - mount -o bind /dev /root/dev - - mkdir -p /root/var/run/network - [ "${NETBOOT}" ] || chroot /root dhclient eth0 - chroot /root wget -P /tmp "${URL_LOCATION}" - [ "${NETBOOT}" ] || chroot /root ifconfig eth0 down - - umount /root/sys - umount /root/proc - umount /root/dev - - LOCATIONS="/tmp/$(basename ${URL_LOCATION}) ${LOCATIONS}" - ;; - */*=*) question="${ARGUMENT%%=*}" value="${ARGUMENT#*=}" @@ -374,21 +298,6 @@ Arguments () export SILENT ;; - textonly) - TEXTONLY="Yes" - export TEXTONLY - ;; - - timezone=*) - TIMEZONE="${ARGUMENT#timezone=}" - export TIMEZONE - ;; - - notimezone) - NOTIMEZONE="Yes" - export NOTIMEZONE - ;; - todisk=*) TODISK="${ARGUMENT#todisk=}" export TODISK @@ -791,19 +700,25 @@ do_netmount () do_httpmount () { rc=1 - dest="${mountpoint}/${LIVE_MEDIA_PATH}" - mount -t ramfs ram "${mountpoint}" - mkdir -p "${dest}" for webfile in HTTPFS FTPFS FETCH do - url="$(eval echo \"\$\{${webfile}\}\")" - extension="$(echo "${url}" | sed 's/\(.*\)\.\(.*\)/\2/')" + local url="$(eval echo \"\$\{${webfile}\}\")" + local extension="$(echo "${url}" | sed 's/\(.*\)\.\(.*\)/\2/')" if [ -n "$url" ] then case "${extension}" in - squashfs|tgz|tar) + iso|squashfs|tgz|tar) + if [ "${extension}" = "iso" ] + then + mkdir -p "${alt_mountpoint}" + dest="${alt_mountpoint}" + else + local dest="${mountpoint}/${LIVE_MEDIA_PATH}" + mount -t ramfs ram "${mountpoint}" + mkdir -p "${dest}" + fi if [ "${webfile}" = "FETCH" ] then case "$url" in @@ -834,6 +749,12 @@ do_httpmount () fi [ ${?} -eq 0 ] && rc=0 [ "${extension}" = "tgz" ] && live_dest="ram" + if [ "${extension}" = "iso" ] + then + isoloop=$(setup_loop "${dest}/$(basename "${url}")" "loop" "/sys/block/loop*" "" '') + mount -t iso9660 "${isoloop}" "${mountpoint}" + rc=${?} + fi break ;; @@ -846,6 +767,11 @@ do_httpmount () if [ ${rc} != 0 ] then + if [ -d "${alt_mountpoint}" ] + then + umount "${alt_mountpoint}" + rmdir "${alt_mountpoint}" + fi umount "${mountpoint}" elif [ "${webfile}" != "FETCH" ] ; then NETBOOT="${webfile}" @@ -1819,8 +1745,4 @@ mountroot () exec 2>&7 7>&- kill ${tailpid} [ -w "${rootmnt}/var/log/" ] && cp live.log "${rootmnt}/var/log/" 2>/dev/null - if [ -f /etc/live.conf ] - then - cp /etc/live.conf "${rootmnt}/etc/" - fi }