summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSangYoun Kwak <sy.kwak@samsung.com>2022-06-09 14:58:56 +0900
committerSangYoun Kwak <sy.kwak@samsung.com>2022-06-09 19:03:35 +0900
commit4b7307853ca592e218e8c00ff2c095aa75ac6354 (patch)
tree05676a658de3da910ad396c51d62d43bef241ac1
parent2af878719653638fad0e4376a407e5ff8fef608a (diff)
downloadinitrd-recovery-4b7307853ca592e218e8c00ff2c095aa75ac6354.tar.gz
initrd-recovery-4b7307853ca592e218e8c00ff2c095aa75ac6354.tar.bz2
initrd-recovery-4b7307853ca592e218e8c00ff2c095aa75ac6354.zip
Fix to specify partition(a or b) when using blkid
Change-Id: Ic53f0eda667d393f395c4a3a0db68e5c6e7f302a Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
-rwxr-xr-xsrc/initrd-recovery/init80
1 files changed, 40 insertions, 40 deletions
diff --git a/src/initrd-recovery/init b/src/initrd-recovery/init
index 0b6f354..a23c598 100755
--- a/src/initrd-recovery/init
+++ b/src/initrd-recovery/init
@@ -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"