Add overlayfs support (Closes: #658265).
[live-boot-grml.git] / scripts / live
index ad481ae..5af7ad8 100755 (executable)
@@ -399,7 +399,7 @@ Arguments ()
        then
                PERSISTENT_ENCRYPTION="none"
                export PERSISTENT_ENCRYPTION
-       elif echo ${PERSISTENT_ENCRYPTION} | grep -qw luks
+       elif echo ${PERSISTENT_ENCRYPTION} | grep -qe "\<luks\>"
        then
                if ! modprobe dm-crypt
                then
@@ -536,7 +536,7 @@ is_nice_device ()
                PATH_ID="/sbin/udevadm test-builtin path_id"
        fi
 
-       if "${PATH_ID}" "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci)"
+       if ${PATH_ID} "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci)"
        then
                return 0
        elif echo "${sysfs_path}" | grep -q '^/block/vd[a-z]$'
@@ -1208,7 +1208,7 @@ setup_unionfs ()
        addimage_directory="${3}"
 
        case ${UNIONTYPE} in
-               aufs|unionfs)
+               aufs|unionfs|overlayfs)
                        modprobe -q -b ${UNIONTYPE}
 
                        if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$" && [ -x /bin/unionfs-fuse ]
@@ -1403,12 +1403,12 @@ setup_unionfs ()
                                ;;
                esac
 
-               if echo ${PERSISTENT_METHOD} | grep -qw overlay
+               if echo ${PERSISTENT_METHOD} | grep -qe "\<overlay\>"
                then
                        overlays="${root_persistence} ${home_persistence}"
                fi
 
-               if echo ${PERSISTENT_METHOD} | grep -qw snapshot
+               if echo ${PERSISTENT_METHOD} | grep -qe "\<snapshot\>"
                then
                        snapshots="${root_snapshot_label} ${home_snapshot_label}"
                fi
@@ -1570,6 +1570,10 @@ setup_unionfs ()
                                mount_full $unionmountopts "${unionmountpoint}"
                                ;;
 
+                       overlayfs)
+                               unionmountopts="-o noatime,${noxino_opt},lowerdir=${unionro},upperdir=${unionrw}"
+                               mount -t ${UNIONTYPE} ${unionmountopts} ${UNIONTYPE} "${unionmountpoint}"
+                               ;;
 
                        *)
                                if [ -n "${PERSISTENT_READONLY}" ]