diff options
author | Yi-Yo Chiang <yochiang@google.com> | 2022-01-03 11:27:14 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-01-03 11:27:14 +0000 |
commit | 0385dbc9b424f5e7f497e8fc2f5fa7d11e3c9fb2 (patch) | |
tree | ea75071da8cc112cb45b305662b69f9c07eb8341 | |
parent | de93fcceaa9999384eeeff985ab8af0f59b90f54 (diff) | |
parent | 414d58ed950828f7c971a444eae6c0199f5eef91 (diff) | |
download | mkbootimg-0385dbc9b424f5e7f497e8fc2f5fa7d11e3c9fb2.tar.gz |
Add 'generate_gki_certificate' standalone tool to certify GKI am: 6ec5817b45 am: c7d21760d2 am: 414d58ed95
Original change: https://android-review.googlesource.com/c/platform/system/tools/mkbootimg/+/1933194
Change-Id: I39e1722aca21d570db8752434f72769e9a95f706
-rw-r--r-- | Android.bp | 12 | ||||
-rwxr-xr-x | gki/generate_gki_certificate.py | 39 |
2 files changed, 51 insertions, 0 deletions
@@ -54,6 +54,18 @@ python_defaults { } python_binary_host { + name: "generate_gki_certificate", + defaults: ["mkbootimg_defaults"], + main: "gki/generate_gki_certificate.py", + srcs: [ + "gki/generate_gki_certificate.py", + ], + required: [ + "avbtool", + ], +} + +python_binary_host { name: "mkbootimg", defaults: ["mkbootimg_defaults"], main: "mkbootimg.py", diff --git a/gki/generate_gki_certificate.py b/gki/generate_gki_certificate.py index 94bec88..f3802a0 100755 --- a/gki/generate_gki_certificate.py +++ b/gki/generate_gki_certificate.py @@ -45,3 +45,42 @@ def generate_gki_certificate(image, avbtool, name, algorithm, key, salt, avbtool_cmd += additional_avb_args subprocess.check_call(avbtool_cmd) + + +def parse_cmdline(): + parser = ArgumentParser(add_help=True) + + # Required args. + parser.add_argument('image', help='path to the image') + parser.add_argument('-o', '--output', required=True, + help='output certificate file name') + parser.add_argument('--name', required=True, + choices=['generic_kernel', 'generic_ramdisk'], + help='name of the image to be certified') + parser.add_argument('--algorithm', required=True, + help='AVB signing algorithm') + parser.add_argument('--key', required=True, + help='path to the RSA private key') + + # Optional args. + parser.add_argument('--avbtool', default='avbtool', + help='path to the avbtool executable') + parser.add_argument('--salt', help='salt to use when computing image hash') + parser.add_argument('--additional_avb_args', default='', + help='additional arguments to be forwarded to avbtool') + + return parser.parse_args() + + +def main(): + args = parse_cmdline() + generate_gki_certificate( + image=args.image, avbtool=args.avbtool, name=args.name, + algorithm=args.algorithm, key=args.key, salt=args.salt, + additional_avb_args=args.additional_avb_args.split(), + output=args.output, + ) + + +if __name__ == '__main__': + main() |