done < <(grep -v -e "^#" -e "^#" ${LABEL_MAP_PATH}/${HAL_PART_MAP_FILE})
# _OFFSET _SIZE _HASH1 _HASH2
- while read -r LABEL_NAME DELTA_NAME TYPE DEV _ _ _ _
+ while read -r LABEL_NAME DELTA_NAME TYPE DEV OFFSET OLD_SIZE NEW_SIZE OLD_SHA NEW_SHA
do
LABEL_NAME="$(echo "$LABEL_NAME" | /bin/awk '{print tolower($0)}')"
flog "[Info] Flashing $DELTA_NAME... to $NEXT_PARTITION"
/bin/tar xOf "$DELTA_TAR" "$DELTA_NAME" > "$NEXT_PARTITION"
flog "[Info] Finished flashing $DELTA_NAME to $NEXT_PARTITION"
+
+ flog "[Info] Computing SHA1 of $NEXT_PARTITION"
+ CURRENT_SHA=$(head -c ${NEW_SIZE} ${NEXT_PARTITION} | sha1sum | cut -f1 -d' ')
+ if [ "$CURRENT_SHA" == "$NEW_SHA" ]; then
+ flog "[Info] Checksums match"
+ else
+ flog "[Info] Checksums don't match ($CURRENT_SHA != $NEW_SHA). Abort."
+ exit 1
+ fi
else
PARTS_NAME_TO_UPDATE+=( "$PART_NAME:$TYPE" )
fi