X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=e17f66ff17ed6605080a5496731d6407132f98be;hb=6d5c38f8a3584268700602b6119572f5fb2be2fb;hp=0fa3900c5e7af3d3891e3dbc380c21b271ab8d82;hpb=1492bea7cab5998e281097e6b1dda07f9bfdbf25;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index 0fa3900..e17f66f 100755 --- a/scripts/live +++ b/scripts/live @@ -49,6 +49,35 @@ Arguments () for ARGUMENT in $(cat /proc/cmdline) do case "${ARGUMENT}" in + skipconfig) + NOACCESSIBILITY="Yes" + NOAPPARMOR="Yes" + NOAPTCDROM="Yes" + NOAUTOLOGIN="Yes" + NOCONSOLEKEYBOARD="Yes" + NOFASTBOOT="Yes" + NOFSTAB="Yes" + NOGNOMEPANEL="Yes" + NOHOSTS="Yes" + NOJOCKEY="Yes" + NOKPERSONALIZER="Yes" + NOLANGUAGESELECTOR="Yes" + NOLOCALES="Yes" + NONETWORKING="Yes" + NOPOLKITCONF="Yes" + NOPOWERMANAGEMENT="Yes" + NOPROGRAMCRASHES="Yes" + NOSUDO="Yes" + NOTIMEZONE="Yes" + NOUPDATENOTIFIER="Yes" + NOUSER="Yes" + NOXAUTOCONFIG="Yes" + NOXAUTOLOGIN="Yes" + NOXSCREENSAVER="Yes" + + export NOACCESSIBILITY NOAPPARMOR NOAPTCDROM NOAUTOLOGIN NOCONSOLEKEYBOARD NOFASTBOOT NOFSTAB NOGNOMEPANEL NOHOSTS NOJOCKEY NOKPERSONALIZER NOLANGUAGESELECTOR NOLOCALES NONETWORKING NOPOLKITCONF NOPOWERMANAGEMENT NOPROGRAMCRASHES NOSUDO NOTIMEZONE NOUPDATENOTIFIER NOUSER NOXAUTOCONFIG NOXAUTOLOGIN NOXSCREENSAVER + ;; + access=*) ACCESS="${ARGUMENT#access=}" export ACCESS @@ -66,6 +95,11 @@ Arguments () set -x ;; + ethdevice=*) + DEVICE="${ARGUMENT#ethdevice=}" + export DEVICE + ;; + fetch=*) FETCH="${ARGUMENT#fetch=}" export FETCH @@ -97,6 +131,11 @@ Arguments () export HOSTNAME LIVECONF ;; + isofrom=*|fromiso=*) + FROMISO="${ARGUMENT#*=}" + export FROMISO + ;; + username=*) USERNAME="${ARGUMENT#username=}" LIVECONF="changed" @@ -380,9 +419,9 @@ Arguments () mount -o bind /dev /root/dev mkdir -p /root/var/run/network - chroot /root dhclient eth0 + [ "${NETBOOT}" ] || chroot /root dhclient eth0 chroot /root wget -P /tmp "${location}" - chroot /root ifconfig eth0 down + [ "${NETBOOT}" ] || chroot /root ifconfig eth0 down umount /root/sys umount /root/proc @@ -611,7 +650,7 @@ is_nice_device () { sysfs_path="${1#/sys}" - if /lib/udev/path_id "${sysfs_path}" | grep -E -q "ID_PATH=(usb|pci-)" + if /lib/udev/path_id "${sysfs_path}" | grep -E -q "ID_PATH=(usb|pci-|platform-mmc)" then return 0 elif echo "${sysfs_path}" | grep -q '^/block/vd[a-z]$' @@ -1384,6 +1423,17 @@ check_dev () devname="${2}" skip_uuid_check="${3}" + # support for fromiso=.../isofrom=.... + if [ -n "$FROMISO" ] + then + mkdir /isofrom + ISO_DEVICE="$(echo $FROMISO | sed 's|\(/dev/[a-z]*[0-9]*\).*|\1|')" + mount "$ISO_DEVICE" /isofrom + ISO_NAME="$(echo $FROMISO | sed 's|/dev/[a-z]*[0-9]*/||')" + loopdevname=$(setup_loop "/isofrom/${ISO_NAME}" "loop" "/sys/block/loop*" "" '') + devname="${loopdevname}" + fi + if [ -z "${devname}" ] then devname=$(sys2dev "${sysdev}") @@ -1655,6 +1705,15 @@ mountroot () log_end_msg fi + # if we do not unmount the ISO we can't run "fsck /dev/ice" later on + # because the mountpoint is left behind in /proc/mounts, so let's get + # rid of it when running from RAM + if [ -n "$FROMISO" ] && [ "${TORAM}" ] + then + losetup -d /dev/loop0 + grep -q /isofrom /proc/mounts && umount /isofrom + fi + if [ -n "${MODULETORAMFILE}" ] || [ -n "${PLAIN_ROOT}" ] then setup_unionfs "${livefs_root}" "${rootmnt}"