Fix to specify partition(a or b) when using blkid 63/276063/2
authorSangYoun Kwak <sy.kwak@samsung.com>
Thu, 9 Jun 2022 05:58:56 +0000 (14:58 +0900)
committerSangYoun Kwak <sy.kwak@samsung.com>
Thu, 9 Jun 2022 10:03:35 +0000 (19:03 +0900)
Change-Id: Ic53f0eda667d393f395c4a3a0db68e5c6e7f302a
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
src/initrd-recovery/init

index 0b6f354..a23c598 100755 (executable)
@@ -51,6 +51,45 @@ mkdir_p_parent() {
 }
 
 #------------------------------------------------
+#       get partition id
+#------------------------------------------------
+get_partition_id() {
+    P_SLOT=$([[ $(</proc/cmdline) =~ partition_ab=([ab]) ]]; echo ${BASH_REMATCH[1]})
+    P_SUFFIX=""
+
+    if [ "${P_SLOT}" != "" ]; then
+        P_SUFFIX="_${P_SLOT}"
+        echo "Using A/B slot: ${P_SLOT}"
+    fi
+
+    PART_ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device`
+    if [ x$PART_ROOTFS = "x" ]
+    then
+        PART_ROOTFS=`/sbin/blkid -L rootfs`
+    fi
+
+    PART_SYSTEM_DATA=`/sbin/blkid -t PARTLABEL=system-data -o device`
+    if [ x$PART_SYSTEM_DATA = "x" ]
+    then
+        PART_SYSTEM_DATA=`/sbin/blkid -L system-data`
+    fi
+
+    PART_RAMDISK=`/sbin/blkid -t PARTLABEL=ramdisk${P_SUFFIX} -o device`
+    if [ x$PART_RAMDISK = "x" ]
+    then
+        PART_RAMDISK=`/sbin/blkid -L ramdisk`
+    fi
+
+    PART_HAL=`/sbin/blkid -t PARTLABEL=hal${P_SUFFIX} -o device`
+    if [ x$PART_HAL = "x" ]
+    then
+        PART_HAL=`/sbin/blkid -L hal`
+    fi
+
+    PART_USER=$("$BLKID" --match-token PARTLABEL=user -o device || "$BLKID" --match-token LABEL=user -o device)
+}
+
+#------------------------------------------------
 #       copy_hal_data
 #------------------------------------------------
 copy_hal_data() {
@@ -69,7 +108,7 @@ copy_hal_data() {
         fi
     done < /hal/.hal_list
 
-    PART_HAL=$("$BLKID" -L "hal" -o device)
+    PART_HAL=$("$BLKID" -t PARTLABEL="hal${P_SUFFIX}" -o device)
     if [ "$need_copy" = "1" -a "z$PART_HAL" != "z" ]; then
         #mount hal partition
         "$MKDIR" -p ${HAL_PATH}
@@ -146,45 +185,6 @@ restore_partitions() {
 }
 
 #------------------------------------------------
-#       get partition id
-#------------------------------------------------
-get_partition_id() {
-    P_SLOT=$([[ $(</proc/cmdline) =~ partition_ab=([ab]) ]]; echo ${BASH_REMATCH[1]})
-    P_SUFFIX=""
-
-    if [ "${P_SLOT}" != "" ]; then
-        P_SUFFIX="_${P_SLOT}"
-        echo "Using A/B slot: ${P_SLOT}"
-    fi
-
-    PART_ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device`
-    if [ x$PART_ROOTFS = "x" ]
-    then
-        PART_ROOTFS=`/sbin/blkid -L rootfs`
-    fi
-
-    PART_SYSTEM_DATA=`/sbin/blkid -t PARTLABEL=system-data -o device`
-    if [ x$PART_SYSTEM_DATA = "x" ]
-    then
-        PART_SYSTEM_DATA=`/sbin/blkid -L system-data`
-    fi
-
-    PART_RAMDISK=`/sbin/blkid -t PARTLABEL=ramdisk${P_SUFFIX} -o device`
-    if [ x$PART_RAMDISK = "x" ]
-    then
-        PART_RAMDISK=`/sbin/blkid -L ramdisk`
-    fi
-
-    PART_HAL=`/sbin/blkid -t PARTLABEL=hal${P_SUFFIX} -o device`
-    if [ x$PART_HAL = "x" ]
-    then
-        PART_HAL=`/sbin/blkid -L hal`
-    fi
-
-    PART_USER=$("$BLKID" --match-token PARTLABEL=user -o device || "$BLKID" --match-token LABEL=user -o device)
-}
-
-#------------------------------------------------
 #       Main Routine Start
 #------------------------------------------------
 echo "You entered into /sbin/init on initrd"