Fix read-only persistence mode with overlayfs
[live-boot-grml.git] / components / 9990-misc-helpers.sh
index 1a06ccf..fba3d43 100755 (executable)
@@ -1169,6 +1169,10 @@ removable_dev ()
 
        for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)")
        do
+               if [ ! -d "${sysblock}" ]; then
+                       continue
+               fi
+
                dev_ok=
                if [ "$(cat ${sysblock}/removable)" = "1" ]
                then
@@ -1214,6 +1218,10 @@ non_removable_dev ()
 
        for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)")
        do
+               if [ ! -d "${sysblock}" ]; then
+                       continue
+               fi
+
                if [ "$(cat ${sysblock}/removable)" = "0" ]
                then
                        case "${output_format}" in
@@ -1607,6 +1615,13 @@ activate_custom_mounts ()
                        mkdir -p ${cow_dir}
                        chown_ref "${source}" "${cow_dir}"
                        chmod_ref "${source}" "${cow_dir}"
+                       if [ "${UNIONTYPE}" = "overlay" ]
+                       then
+                               # When we use overlay we add the "/rw" postfix to our source when using it
+                               # as upper layer. Therefore we also have to add it here when using it as
+                               # the lower layer.
+                               source="${source}/rw"
+                       fi
                        do_union ${dest} ${cow_dir} ${source} ${rootfs_dest_backing}
                fi