Modify the 'bin' argument to take either a single file to convert to MBN, or a list of files to be combined to create a multi-elf expected by the boot rom.
Signed-off-by: Varadarajan Narayanan <[email protected]> --- tools/qcom/mkmbn/mkmbn.py | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/tools/qcom/mkmbn/mkmbn.py b/tools/qcom/mkmbn/mkmbn.py index da4d45b600a..8af268a2d8a 100755 --- a/tools/qcom/mkmbn/mkmbn.py +++ b/tools/qcom/mkmbn/mkmbn.py @@ -110,14 +110,32 @@ parser.add_argument( "-v", dest="verbose", action="store_true", default=False, help="Verbose" ) parser.add_argument( - "bin", type=argparse.FileType("rb"), help="Binary to embed (e.g. u-boot.bin)" + "bin", nargs = '+', type=argparse.FileType("rb"), + help="One or more binaries to embed (e.g. u-boot.bin) or create multi-elf" ) args = parser.parse_args() verbose = args.verbose +if (len(args.bin) > 1): # Create multi-elf + try: + with open(args.output, "wb") as f: + for path in args.bin: + with open(path, 'rb') as tmp: + f.write(tmp.read()) + except Exception as e: + print(f"Error: {e}") + sys.exit(1) + + sys.exit(0) + elf = Elf() -data: bytes = args.bin.read() +if args.bin: + data: bytes = args.bin[0].read() +else: + print(f"Specify the binary to convert to MBN") + sys.exit(1) + # dtb is at the end, so find the last match dtb_off = 0 -- 2.34.1
