Workaround loop-aes-utils losetup incompatibility
authorMichal Suchanek <hramrach@centrum.cz>
Sat, 31 May 2008 19:18:47 +0000 (21:18 +0200)
committerDaniel Baumann <daniel@debian.org>
Wed, 9 Mar 2011 16:47:59 +0000 (17:47 +0100)
Pass -r option to losetup when setting up loop device for root image
so that readonly files can be set up as well.

scripts/live
scripts/live-helpers

index 3428cca..0d84533 100755 (executable)
@@ -498,7 +498,7 @@ get_backing_device ()
 {
        case "${1}" in
                *.squashfs|*.ext2|*.ext3|*.jffs2)
-                       echo $(setup_loop "${1}" "loop" "/sys/block/loop*" '0' "${LIVE_MEDIA_ENCRYPTION}")
+                       echo $(setup_loop "${1}" "loop" "/sys/block/loop*" '0' "${LIVE_MEDIA_ENCRYPTION}" "${2}")
                        ;;
 
                *.dir)
@@ -965,7 +965,7 @@ setup_unionfs ()
                        rofslist="${image} ${rofslist}"
                elif [ -f "${image}" ]
                then
-                       backdev=$(get_backing_device "${image}")
+                       backdev=$(get_backing_device "${image}" "-r")
                        fstype=$(get_fstype "${backdev}")
 
                        if [ "${fstype}" = "unknown" ]
index cc73aa3..02c3e55 100644 (file)
@@ -167,6 +167,7 @@ setup_loop ()
        local pattern=${3}
        local offset=${4}
        local encryption=${5}
+       local readonly=${6}
 
        modprobe -q -b "${module}"
        udevsettle
@@ -178,6 +179,11 @@ setup_loop ()
                        dev=$(sys2dev "${loopdev}")
                        options=''
 
+                       if [ -n ${readonly} ]
+                       then
+                               options="${options} -r"
+                       fi
+
                        if [ 0 -lt "${offset}" ]
                        then
                                options="${options} -o ${offset}"