done
}
-function map_from_super() {
- local part_name="$1"
- local part_table="$2"
- echo -e "$part_table" | /usr/sbin/dmsetup create "$part_name" &>/dev/null
- if [ $? = 0 ]
- then
- /usr/sbin/dmsetup mknodes "$part_name"
- echo "/dev/mapper/$part_name"
- return 0
- else
- echo "WARNING : SUPER FOUND BUT $part_name NOT FOUND" >&2
- return 1
- fi
-}
-
#------------------------------------------------
# get partition id
#------------------------------------------------
echo "Using A/B slot: ${P_SLOT}"
fi
- SUPERFS=`/sbin/blkid -t PARTLABEL=super -o device -l`
- if [ x$SUPERFS = "x" ]
- then
- SUPERFS=`/sbin/blkid -t LABEL=super -o device -l`
- fi
-
- if [ x$SUPERFS != "x" ]
- then
- PARSE_DYNPARTS=`/usr/sbin/parse-dynparts "$SUPERFS" --list-tables`
-
- while read -r part_name part_table; do
- if [ "$part_name" = "rootfs${P_SUFFIX}" ]
- then
- PART_ROOTFS=`map_from_super "$part_name" "$part_table"`
- fi
-
- if [ "$part_name" = "hal${P_SUFFIX}" ]
- then
- PART_HAL=`map_from_super "$part_name" "$part_table"`
- fi
- done <<< "$PARSE_DYNPARTS"
- fi
-
if [ x$PART_ROOTFS = "x" ]
then
PART_ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device -l`
echo "Using A/B slot: ${P_SLOT}"
fi
- PART_ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device -l`
+ if [ x$PART_ROOTFS = "x" ]
+ then
+ PART_ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device -l`
+ fi
if [ x$PART_ROOTFS = "x" ]
then
PART_ROOTFS=`/sbin/blkid -L rootfs`
PART_RAMDISK=`/sbin/blkid -L ramdisk`
fi
- PART_HAL=`/sbin/blkid -t PARTLABEL=hal${P_SUFFIX} -o device -l`
+ if [ x$HALFS = "x" ]
+ then
+ PART_HAL=`/sbin/blkid -t PARTLABEL=hal${P_SUFFIX} -o device -l`
+ fi
if [ x$PART_HAL = "x" ]
then
PART_HAL=`/sbin/blkid -L hal`
BLKID="/usr/sbin/blkid"
CP="/bin/cp"
BOW_RESTORE="/sbin/bow-restore"
+export SUPERFS=""
+export PART_ROOTFS=""
+export PART_HAL=""
#------------------------------------------------
# mount_partitions
fi
}
+#------------------------------------------------
+# map_from_super
+#------------------------------------------------
+function map_from_super() {
+ local part_name="$1"
+ local part_table="$2"
+ echo -e "$part_table" | /usr/sbin/dmsetup create "$part_name" &>/dev/null
+ if [ $? = 0 ]
+ then
+ /usr/sbin/dmsetup mknodes "$part_name"
+ echo "/dev/mapper/$part_name"
+ return 0
+ else
+ echo "WARNING : SUPER FOUND BUT $part_name NOT FOUND" >&2
+ return 1
+ fi
+}
+
#------------------------------------------------
# get partition id
#------------------------------------------------
echo "Using A/B slot: ${P_SLOT}"
fi
- PART_ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device -l`
+ SUPERFS=`/sbin/blkid -t PARTLABEL=super -o device -l`
+ if [ x$SUPERFS = "x" ]
+ then
+ SUPERFS=`/sbin/blkid -t LABEL=super -o device -l`
+ fi
+
+ if [ x$SUPERFS != "x" ]
+ then
+ PARSE_DYNPARTS=`/usr/sbin/parse-dynparts "$SUPERFS" --list-tables`
+
+ while read -r part_name part_table; do
+ if [ "$part_name" = "rootfs${P_SUFFIX}" ]
+ then
+ PART_ROOTFS=`map_from_super "$part_name" "$part_table"`
+ fi
+
+ if [ "$part_name" = "hal${P_SUFFIX}" ]
+ then
+ PART_HAL=`map_from_super "$part_name" "$part_table"`
+ fi
+ done <<< "$PARSE_DYNPARTS"
+ fi
+
+ if [ x$PART_ROOTFS = "x" ]
+ then
+ PART_ROOTFS=`/sbin/blkid -t PARTLABEL=rootfs${P_SUFFIX} -o device -l`
+ fi
if [ x$PART_ROOTFS = "x" ]
then
PART_ROOTFS=`/sbin/blkid -L rootfs`
PART_RAMDISK=`/sbin/blkid -L ramdisk`
fi
- PART_HAL=`/sbin/blkid -t PARTLABEL=hal${P_SUFFIX} -o device -l`
+ if [ x$PART_HAL = "x" ]
+ then
+ PART_HAL=`/sbin/blkid -t PARTLABEL=hal${P_SUFFIX} -o device -l`
+ fi
if [ x$PART_HAL = "x" ]
then
PART_HAL=`/sbin/blkid -L hal`