certify_bootimg: support --extra_footer_args

This is used to add additional properties in the AVB footer, as VTS
will be running in the GKI pre-release tests, where some VTS test cases
expect SPL settings in the AVB footer of the boot.img.

Note that the official boot.img AVB footer should be added by the
device owner to create device-specific verified boot chain. The CL
here is just to pass GKI pre-release testing.

An usage example:
  certify_bootimg --boot_img boot.img \
      --algorithm SHA256_RSA4096 \
      --key external/avb/test/data/testkey_rsa4096.pem \
      --extra_footer_args="--prop com.android.build.boot.os_version:13" \
      --extra_footer_args="--prop com.android.build.boot.security_patch:2022-05-05" \
      --output boot-certified-img

The above --extra_footer_args can also be specified in a gki-info.txt:
  certify_bootimg_extra_footer_args=--prop com.android.build.boot.os_version:13 \
    --prop com.android.build.boot.security_patch:2022-05-05

An usage example with --gki_info:
  certify_bootimg --boot_img boot.img \
      --algorithm SHA256_RSA4096 \
      --key external/avb/test/data/testkey_rsa4096.pem \
      --gki_info gki-info.txt \
      --output boot-certified-img

Bug: 232062499
Test: atest --host certify_bootimg_test
Change-Id: Ib5b7c8f68c56f8318f84fe34b6ad6fa7b01f03fe
2 files changed