echo "$LOG"
}
+check_ab_partition_scheme() {
+ CURRENT_AB="$(/bin/sed -E 's|.*(partition_ab=)([a-b]).*|\2|' /proc/cmdline)"
+ if [ "$CURRENT_AB" != "a" ] && [ "$CURRENT_AB" != "b" ]; then
+ log "[Info] Launching legacy update without A|B partition scheme" "$LOG_FILE"
+ else
+ log "[Info] Launching new update with A|B partition scheme" "$LOG_FILE"
+ if ! upgrade-prepare-partitions.sh; then
+ exit 1
+ fi
+ if ! upgrade-partial.sh "$DOWNLOAD_DELTA"; then
+ exit 1
+ fi
+ if ! upgrade-fota.sh; then
+ exit 1
+ fi
+ exit 0
+ fi
+}
+
rm -f "$LOG_FILE" && touch "$LOG_FILE"
if [ "$#" != "1" ] || [ ! -f "$1" ]; then
fi
log "[Info] Using <$DELTA_TAR> delta file." "$LOG_FILE"
+check_ab_partition_scheme
flash_pre_image() {
log "[Info] Flash images for update..." "$LOG_FILE"
return
fi
- while read -r PART_NAME DELTA_NAME TYPE DEV OFFSET SIZE HASH1 HASH2
+ while read -r PART_NAME DELTA_NAME TYPE DEV _OFFSET _SIZE _HASH1 _HASH2
do
if [ "$TYPE" = "PRE_UA" ]; then
/bin/tar xvfp "$DELTA_TAR" -C "$FOTA_DIR" "$DELTA_NAME"
DEV_NUM=$(/sbin/blkid -L "$PART_NAME" -o device | sed "\|$EMMC_DEVICE|!d" | \
sed 's/\/dev\/mmcblk0p//')
fi
- if [ "$DEV_NUM" == "" ]; then
- DEV=${DEV}
- else
+ if [ "$DEV_NUM" != "" ]; then
DEV="${EMMC_DEVICE}p${DEV_NUM}"
fi