X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=9baf5a957b5cc528453237d1db3cdd742145c6e9;hb=a16e96b9f2baf702da7104d6ccd3bf61dbd49319;hp=2753d5ecdbabfbe276fbb80135c18b3f0b07ae33;hpb=c61a099f9f482a9824ea71713e91c8637ef5cc99;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index 2753d5e..9baf5a9 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 @@ -372,6 +401,11 @@ Arguments () export NOPERSISTENT ;; + quickusbmodules) + QUICKUSBMODULES="Yes" + export QUICKUSBMODULES + ;; + preseed/file=*|file=*) LOCATION="${ARGUMENT#*=}" export LOCATION @@ -621,7 +655,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]$' @@ -1072,15 +1106,10 @@ setup_unionfs () # Let's just mount the read-only file systems first rofsstring="" rofslist="" - minor_kernel_version=$(uname -r|cut -c 5-|sed 's/[^0-9].*//') - if [ "${NETBOOT}" = "nfs" ] && [ "${minor_kernel_version}" -lt 22 ] + if [ "${UNIONTYPE}" = "aufs" ] then - # go aroung a bug in nfs-unionfs locking for unionfs <= 1.4 - roopt="nfsro" - elif [ "${UNIONTYPE}" = "aufs" ] - then - roopt="rr" + roopt="rr,xino=/tmp/aufs.xino" else roopt="ro" fi @@ -1194,37 +1223,40 @@ setup_unionfs () # Looking for "${root_persistence}" device or file if [ -n "${PERSISTENT}" ] && [ -z "${NOPERSISTENT}" ] then - # Load USB modules - num_block=$(ls -l /sys/block | wc -l) - for module in sd_mod uhci-hcd ehci-hcd ohci-hcd usb-storage - do - modprobe -q -b ${module} - done - - if [ -x /sbin/udevadm ] + if [ -z "${QUICKUSBMODULES}" ] then - # lenny - udevadm trigger - udevadm settle - else - # etch - udevtrigger - udevsettle - fi - - # For some reason, udevsettle does not block in this scenario, - # so we sleep for a little while. - # - # See https://bugs.launchpad.net/ubuntu/+source/casper/+bug/84591 - for timeout in 5 4 3 2 1 - do - sleep 1 + # Load USB modules + num_block=$(ls -l /sys/block | wc -l) + for module in sd_mod uhci-hcd ehci-hcd ohci-hcd usb-storage + do + modprobe -q -b ${module} + done - if [ $(ls -l /sys/block | wc -l) -gt ${num_block} ] + if [ -x /sbin/udevadm ] then - break + # lenny + udevadm trigger + udevadm settle + else + # etch + udevtrigger + udevsettle fi - done + + # For some reason, udevsettle does not block in this scenario, + # so we sleep for a little while. + # + # See https://bugs.launchpad.net/ubuntu/+source/casper/+bug/84591 + for timeout in 5 4 3 2 1 + do + sleep 1 + + if [ $(ls -l /sys/block | wc -l) -gt ${num_block} ] + then + break + fi + done + fi # search for label and files (this could be hugely optimized) cowprobe=$(find_cow_device "${root_persistence}") @@ -1486,6 +1518,7 @@ find_livefs () fi fi done + return 1 ;; removable) @@ -1502,6 +1535,7 @@ find_livefs () done fi done + return 1 ;; *)