mkbootimg: add support for --dt
Change-Id: I19f149fac693420cf1f630b51293bbd3650a1b59
Signed-off-by: SamarV-121 <samarvispute121@pm.me>
diff --git a/mkbootimg.py b/mkbootimg.py
index ec29581..dcf7265 100755
--- a/mkbootimg.py
+++ b/mkbootimg.py
@@ -218,8 +218,8 @@
args.output.write(pack('I', args.base + args.tags_offset))
# flash page size
args.output.write(pack('I', args.pagesize))
- # version of boot image header
- args.output.write(pack('I', args.header_version))
+ # version of boot image header or dt size in bytes
+ args.output.write(pack('I', max(args.header_version, filesize(args.dt))))
# os version and patch level
args.output.write(pack('I', (args.os_version << 11) | args.os_patch_level))
# asciiz product name
@@ -230,6 +230,7 @@
update_sha(sha, args.kernel)
update_sha(sha, args.ramdisk)
update_sha(sha, args.second)
+ update_sha(sha, args.dt)
if args.header_version > 0:
update_sha(sha, args.recovery_dtbo)
@@ -540,6 +541,7 @@
help='print the image ID on standard output')
parser.add_argument('--header_version', type=parse_int, default=0,
help='boot image header version')
+ parser.add_argument('--dt', help='path to the device tree image', type=FileType('rb'))
parser.add_argument('-o', '--output', type=FileType('wb'),
help='output file name')
parser.add_argument('--vendor_boot', type=FileType('wb'),
@@ -574,6 +576,9 @@
assert len(args.cmdline) <= BOOT_ARGS_SIZE
assert len(args.extra_cmdline) <= BOOT_EXTRA_ARGS_SIZE
+ if args.header_version > 0 and args.dt != None:
+ raise ValueError('header_version and dt cannot be set at the same time')
+
return args
@@ -617,6 +622,7 @@
write_padded_file(args.output, args.kernel, pagesize)
write_padded_file(args.output, args.ramdisk, pagesize)
write_padded_file(args.output, args.second, pagesize)
+ write_padded_file(args.output, args.dt, args.pagesize)
if args.header_version > 0 and args.header_version < 3:
write_padded_file(args.output, args.recovery_dtbo, pagesize)