change-spl: Detect image format before simg2img This commit reads the sparse image magic word before calling simg2img so that `change_security_patch_var.sh` can support both sparse and unsparse system images. Bug: 79395599 Test: ./change_security_patch_ver.sh with the latest aosp_arm64 image Change-Id: I207195fa9a3922aa24cca7317dbfc0aaf2f64a36 Merged-In: I207195fa9a3922aa24cca7317dbfc0aaf2f64a36
diff --git a/harnesses/host_controller/gsi/change_security_patch_ver.sh b/harnesses/host_controller/gsi/change_security_patch_ver.sh index 563f836..c99ec03 100755 --- a/harnesses/host_controller/gsi/change_security_patch_ver.sh +++ b/harnesses/host_controller/gsi/change_security_patch_ver.sh
@@ -121,15 +121,22 @@ exit 1 fi -UNSPARSED_SYSTEM_IMG="${SYSTEM_IMG}.raw" MOUNT_POINT="${PWD}/temp_mnt" SPL_PROPERTY_NAME="ro.build.version.security_patch" RELEASE_VERSION_PROPERTY_NAME="ro.build.version.release" VNDK_VERSION_PROPERTY="ro.vndk.version" VNDK_VERSION_PROPERTY_OMR1="${VNDK_VERSION_PROPERTY}=27" -echo "Unsparsing ${SYSTEM_IMG}..." -$BIN_PATH/simg2img "$SYSTEM_IMG" "$UNSPARSED_SYSTEM_IMG" +UNSPARSED_SYSTEM_IMG="${SYSTEM_IMG}.raw" +SYSTEM_IMG_MAGIC="$(xxd -g 4 -l 4 "$SYSTEM_IMG" | head -n1 | awk '{print $2}')" +if [ "$SYSTEM_IMG_MAGIC" = "3aff26ed" ]; then + echo "Unsparsing ${SYSTEM_IMG}..." + $BIN_PATH/simg2img "$SYSTEM_IMG" "$UNSPARSED_SYSTEM_IMG" +else + echo "Copying unsparse input system image ${SYSTEM_IMG}..." + cp "$SYSTEM_IMG" "$UNSPARSED_SYSTEM_IMG" +fi + IMG_SIZE=$(stat -c%s "$UNSPARSED_SYSTEM_IMG") echo "Mounting..."