From: Mateusz Moscicki Date: Fri, 6 May 2022 14:49:36 +0000 (+0200) Subject: Verify the checksums of flashed images X-Git-Tag: accepted/tizen/unified/20220628.133556~33 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F13%2F275013%2F1;p=platform%2Fcore%2Fsystem%2Ftota-ua.git Verify the checksums of flashed images Change-Id: I16178fe5ab33efd043db10d6d4612cce717a487d --- diff --git a/scripts/upgrade-common.inc b/scripts/upgrade-common.inc index 76bd03f..de7bfb1 100644 --- a/scripts/upgrade-common.inc +++ b/scripts/upgrade-common.inc @@ -116,7 +116,7 @@ upgrade_images() { 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)}')" @@ -139,6 +139,15 @@ upgrade_images() { 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