X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=f4a4029c067e9eebbd2212a65ad91684dc7551f5;hb=bf5db2437a64882e205529760186f37b02716f5d;hp=3f39c978ac38a311742ba0ec574d73f7c4e59aa8;hpb=c9e1f3e45460445b6247574ebfa8a3e32cba3cb4;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index 3f39c97..f4a4029 100755 --- a/scripts/live +++ b/scripts/live @@ -456,7 +456,7 @@ Arguments () if [ -z "${UNIONTYPE}" ] then - UNIONTYPE="unionfs" + UNIONTYPE="aufs" export UNIONTYPE fi } @@ -650,7 +650,7 @@ do_netmount () modprobe -q af_packet # For DHCP - udevtrigger + udevadm trigger udevsettle ipconfig ${DEVICE} | tee /netboot.config @@ -875,7 +875,7 @@ try_snap () fi else # cpio.gz snapshot - if ! (cd "${snap_mount}" && zcat "${snapback}/${snapfile}" | cpio -i -u -d 2>/dev/null) + if ! (cd "${snap_mount}" && zcat "${snapback}/${snapfile}" | cpio --extract --preserve-modification-time --no-absolute-filenames --sparse --unconditional --make-directories > /dev/null 2>&1) then log_warning_msg "Impossible to include the ${snapfile} Snapshot" return 1 @@ -1008,7 +1008,12 @@ setup_unionfs () rofslist="${image} ${rofslist}" elif [ -f "${image}" ] then - backdev=$(get_backing_device "${image}" "-r") + if /sbin/losetup --help 2>&1 | grep -q -- "-r\b" + then + backdev=$(get_backing_device "${image}" "-r") + else + backdev=$(get_backing_device "${image}") + fi fstype=$(get_fstype "${backdev}") if [ "${fstype}" = "unknown" ] @@ -1036,7 +1041,7 @@ setup_unionfs () modprobe -q -b ${module} done - udevtrigger + udevadm trigger udevsettle # For some reason, udevsettle does not block in this scenario, @@ -1059,10 +1064,12 @@ setup_unionfs () then cowdevice=${cowprobe} cow_fstype=$(get_fstype "${cowprobe}") + cow_mountopt="rw,noatime" else [ "${quiet}" != "y" ] && log_warning_msg "Unable to find the persistent medium" cowdevice="tmpfs" cow_fstype="tmpfs" + cow_mountopt="rw,noatime,mode=755" fi elif [ -n "${NFS_COW}" ] && [ -z "${NOPERSISTENT}" ] then @@ -1095,7 +1102,7 @@ setup_unionfs () nfsmount ${nfs_cow_opts} ${cowdevice} /cow || \ panic "Can not mount ${cowdevice} (n: ${cow_fstype}) on /cow" else - mount -t ${cow_fstype} -o rw,noatime ${cowdevice} /cow || \ + mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} /cow || \ panic "Can not mount ${cowdevice} (o: ${cow_fstype}) on /cow" fi @@ -1187,12 +1194,6 @@ check_dev () devname=$(sys2dev "${sysdev}") fi - if [ -n "${LIVE_MEDIA_OFFSET}" ] - then - loopdevname=$(setup_loop "${devname}" "loop" "/sys/block/loop*" "${LIVE_MEDIA_OFFSET}" '') - devname="${loopdevname}" - fi - if [ -d "${devname}" ] then mount -o bind "${devname}" $mountpoint || continue @@ -1206,6 +1207,12 @@ check_dev () fi fi + if [ -n "${LIVE_MEDIA_OFFSET}" ] + then + loopdevname=$(setup_loop "${devname}" "loop" "/sys/block/loop*" "${LIVE_MEDIA_OFFSET}" '') + devname="${loopdevname}" + fi + fstype=$(get_fstype "${devname}") if is_supported_fs ${fstype}