X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=f79eaff2237d8415ec5d49cc7d6d9075518e0a44;hb=0290b848ec7ed705da40d58793cb67abbc256a3b;hp=9479f3fbb46b0a34cbcfd0a854c12d41d9edcfa6;hpb=0c9a2a154b13095a4576a9f3af3b1a7c9f7d31d6;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index 9479f3f..f79eaff 100755 --- a/scripts/live +++ b/scripts/live @@ -401,6 +401,11 @@ Arguments () export NOPERSISTENT ;; + quickusbmodules) + QUICKUSBMODULES="Yes" + export QUICKUSBMODULES + ;; + preseed/file=*|file=*) LOCATION="${ARGUMENT#*=}" export LOCATION @@ -991,7 +996,7 @@ find_snap () if [ "${PERSISTENT}" != "nofiles" ] then # search for image files - snapdata=$(find_files "${snap_label}.squashfs ${snap_label}.cpio.gz ${snap_label}.ext2 ${snap_label}.ext3 ${snap_label}.ext4 ${snap_label}.jffs2") + snapdata=$(find_files "${PERSISTENT_PATH}${snap_label}.squashfs ${PERSISTENT_PATH}${snap_label}.cpio.gz ${PERSISTENT_PATH}${snap_label}.ext2 ${PERSISTENT_PATH}${snap_label}.ext3 ${PERSISTENT_PATH}${snap_label}.ext4 ${PERSISTENT_PATH}${snap_label}.jffs2") fi if [ -z "${snapdata}" ] @@ -1104,7 +1109,7 @@ setup_unionfs () if [ "${UNIONTYPE}" = "aufs" ] then - roopt="rr" + roopt="rr,noxino" else roopt="ro" fi @@ -1218,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}")