extract_firmware: Support A/B OTA

Change-Id: I845c62a63aaab223c0fb5f49a494d4aa1c165c92
This commit is contained in:
Chirayu Desai
2022-05-25 23:37:27 +05:30
committed by Michael Bestas
parent 6af359d867
commit 88be24b089

View File

@@ -1916,10 +1916,18 @@ function extract_firmware() {
if [ ! -d "$OUTPUT_DIR" ]; then
mkdir -p "$OUTPUT_DIR"
fi
if [ -f "$SRC/$SRC_FILE" ]; then
cp "$SRC/$SRC_FILE" "$OUTPUT_DIR/$DST_FILE"
if [ -f "$SRC" ] && [ "${SRC##*.}" == "zip" ]; then
# Extract A/B OTA
if [ -a "$DUMPDIR"/payload.bin ]; then
python3 "$ANDROID_ROOT"/tools/extract-utils/extract_ota.py "$DUMPDIR"/payload.bin -o "$DUMPDIR" -p $(basename "${DST_FILE%.*}") 2>&1
cp "$DUMPDIR/$(basename $DST_FILE)" "$OUTPUT_DIR/$DST_FILE"
fi
else
cp "$SRC/$DST_FILE" "$OUTPUT_DIR/$DST_FILE"
if [ -f "$SRC/$SRC_FILE" ]; then
cp "$SRC/$SRC_FILE" "$OUTPUT_DIR/$DST_FILE"
else
cp "$SRC/$DST_FILE" "$OUTPUT_DIR/$DST_FILE"
fi
fi
chmod 644 "$OUTPUT_DIR/$DST_FILE"
done