Fix to specify partition(a or b) when using blkid 27/275927/3 accepted/tizen/unified/20220608.140017 submit/tizen/20220607.115429
authorSangYoun Kwak <sy.kwak@samsung.com>
Tue, 7 Jun 2022 02:02:50 +0000 (11:02 +0900)
committerSangYoun Kwak <sy.kwak@samsung.com>
Tue, 7 Jun 2022 10:47:21 +0000 (19:47 +0900)
Change-Id: I6f20d7c93f63a6e92c238d3a27257bf1d241fc7e
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
scripts/verityctl

index ae4c9cc7c787b1262d98056720c64f0b1e22ca29..f0c1c5137f48d25f98933c8eac57d1b4f7a48724 100755 (executable)
@@ -13,6 +13,28 @@ usage()
        echo "        disable - disable dm-verity. reboot is needed"
 }
 
+get_rootfs() {
+       # get partition ab
+       P_SLOT=$([[ $(</proc/cmdline) =~ partition_ab=([ab]) ]]; echo ${BASH_REMATCH[1]})
+       P_SUFFIX=""
+
+       if [ "${P_SLOT}" != "" ]; then
+               P_SUFFIX="_${P_SLOT}"
+       fi
+
+       ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device -l`
+       if [ -z "$ROOTFS" ]
+       then
+               ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs -o device -l`
+       fi
+       if [ -z "$ROOTFS" ]
+       then
+               ROOTFS=`/sbin/blkid -t LABEL=contain-rootfs -o device -l`
+       fi
+
+       echo "$ROOTFS"
+}
+
 format()
 {
        IMG_FILE=$1
@@ -191,15 +213,7 @@ get_mode()
                exit 0
        fi
 
-       ROOTFS=`/sbin/blkid -L rootfs`
-       if [ -z "$ROOTFS" ]
-       then
-               ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs -o device`
-       fi
-       if [ -z "$ROOTFS" ]
-       then
-               ROOTFS=`/sbin/blkid -t LABEL=contain-rootfs -o device`
-       fi
+       ROOTFS=$(get_rootfs)
 
        block_count=`/sbin/tune2fs -l $ROOTFS | grep "Block count" | gawk '{print $3}'`
        block_size=`/sbin/tune2fs -l $ROOTFS | grep "Block size" | gawk '{print $3}'`
@@ -244,15 +258,7 @@ disable()
                exit 0
        fi
 
-       ROOTFS=`/sbin/blkid -L rootfs`
-       if [ -z "$ROOTFS" ]
-       then
-               ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs -o device`
-       fi
-       if [ -z "$ROOTFS" ]
-       then
-               ROOTFS=`/sbin/blkid -t LABEL=contain-rootfs -o device`
-       fi
+       ROOTFS=$(get_rootfs)
 
        block_count=`/sbin/tune2fs -l $ROOTFS | grep "Block count" | gawk '{print $3}'`
        block_size=`/sbin/tune2fs -l $ROOTFS | grep "Block size" | gawk '{print $3}'`