diff options
Diffstat (limited to 'mkbootimg')
-rw-r--r-- | mkbootimg/bootimg.h | 6 | ||||
-rwxr-xr-x | mkbootimg/mkbootimg | 24 |
2 files changed, 4 insertions, 26 deletions
diff --git a/mkbootimg/bootimg.h b/mkbootimg/bootimg.h index 2bd823012..5ab619599 100644 --- a/mkbootimg/bootimg.h +++ b/mkbootimg/bootimg.h | |||
@@ -43,11 +43,7 @@ struct boot_img_hdr | |||
43 | 43 | ||
44 | uint32_t tags_addr; /* physical addr for kernel tags */ | 44 | uint32_t tags_addr; /* physical addr for kernel tags */ |
45 | uint32_t page_size; /* flash page size we assume */ | 45 | uint32_t page_size; /* flash page size we assume */ |
46 | 46 | uint32_t unused[2]; /* future expansion: should be 0 */ | |
47 | /* operating system version; "1.2.34" -> 010234 */ | ||
48 | uint32_t os_version; | ||
49 | /* operating system patch level; "2016-01-01" -> 20160101 */ | ||
50 | uint32_t os_patch_level; | ||
51 | 47 | ||
52 | uint8_t name[BOOT_NAME_SIZE]; /* asciiz product name */ | 48 | uint8_t name[BOOT_NAME_SIZE]; /* asciiz product name */ |
53 | 49 | ||
diff --git a/mkbootimg/mkbootimg b/mkbootimg/mkbootimg index be342c9b5..f95d7039c 100755 --- a/mkbootimg/mkbootimg +++ b/mkbootimg/mkbootimg | |||
@@ -20,7 +20,6 @@ from os import fstat | |||
20 | from struct import pack | 20 | from struct import pack |
21 | from hashlib import sha1 | 21 | from hashlib import sha1 |
22 | import sys | 22 | import sys |
23 | import re | ||
24 | 23 | ||
25 | def filesize(f): | 24 | def filesize(f): |
26 | if f is None: | 25 | if f is None: |
@@ -48,7 +47,7 @@ def pad_file(f, padding): | |||
48 | def write_header(args): | 47 | def write_header(args): |
49 | BOOT_MAGIC = 'ANDROID!'.encode() | 48 | BOOT_MAGIC = 'ANDROID!'.encode() |
50 | args.output.write(pack('8s', BOOT_MAGIC)) | 49 | args.output.write(pack('8s', BOOT_MAGIC)) |
51 | args.output.write(pack('10I', | 50 | args.output.write(pack('8I', |
52 | filesize(args.kernel), # size in bytes | 51 | filesize(args.kernel), # size in bytes |
53 | args.base + args.kernel_offset, # physical load addr | 52 | args.base + args.kernel_offset, # physical load addr |
54 | filesize(args.ramdisk), # size in bytes | 53 | filesize(args.ramdisk), # size in bytes |
@@ -56,9 +55,8 @@ def write_header(args): | |||
56 | filesize(args.second), # size in bytes | 55 | filesize(args.second), # size in bytes |
57 | args.base + args.second_offset, # physical load addr | 56 | args.base + args.second_offset, # physical load addr |
58 | args.base + args.tags_offset, # physical addr for kernel tags | 57 | args.base + args.tags_offset, # physical addr for kernel tags |
59 | args.pagesize, # flash page size we assume | 58 | args.pagesize)) # flash page size we assume |
60 | args.os_version, # operating system version | 59 | args.output.write(pack('8x')) # future expansion: should be 0 |
61 | args.os_patch_level)) # security patch level | ||
62 | args.output.write(pack('16s', args.board.encode())) # asciiz product name | 60 | args.output.write(pack('16s', args.board.encode())) # asciiz product name |
63 | args.output.write(pack('512s', args.cmdline[:512].encode())) | 61 | args.output.write(pack('512s', args.cmdline[:512].encode())) |
64 | 62 | ||
@@ -99,18 +97,6 @@ def write_padded_file(f_out, f_in, padding): | |||
99 | def parse_int(x): | 97 | def parse_int(x): |
100 | return int(x, 0) | 98 | return int(x, 0) |
101 | 99 | ||
102 | def match_to_int(x): | ||
103 | if (x and x.lastindex == 3): | ||
104 | return (parse_int(x.group(3)) + | ||
105 | parse_int(x.group(2)) * 100 + | ||
106 | parse_int(x.group(1)) * 10000) | ||
107 | return 0 | ||
108 | |||
109 | def parse_os_version(x): | ||
110 | return match_to_int(re.search(r'^(\d+)\.(\d{1,2})\.(\d{1,2})', x)) | ||
111 | |||
112 | def parse_os_patch_level(x): | ||
113 | return match_to_int(re.search(r'^(\d{4,})-(\d{2})-(\d{2})', x)) | ||
114 | 100 | ||
115 | def parse_cmdline(): | 101 | def parse_cmdline(): |
116 | parser = ArgumentParser() | 102 | parser = ArgumentParser() |
@@ -125,10 +111,6 @@ def parse_cmdline(): | |||
125 | parser.add_argument('--ramdisk_offset', help='ramdisk offset', type=parse_int, default=0x01000000) | 111 | parser.add_argument('--ramdisk_offset', help='ramdisk offset', type=parse_int, default=0x01000000) |
126 | parser.add_argument('--second_offset', help='2nd bootloader offset', type=parse_int, | 112 | parser.add_argument('--second_offset', help='2nd bootloader offset', type=parse_int, |
127 | default=0x00f00000) | 113 | default=0x00f00000) |
128 | parser.add_argument('--os_version', help='operating system version', type=parse_os_version, | ||
129 | default=0) | ||
130 | parser.add_argument('--os_patch_level', help='operating system patch level', | ||
131 | type=parse_os_patch_level, default=0) | ||
132 | parser.add_argument('--tags_offset', help='tags offset', type=parse_int, default=0x00000100) | 114 | parser.add_argument('--tags_offset', help='tags offset', type=parse_int, default=0x00000100) |
133 | parser.add_argument('--board', help='board name', default='', action=ValidateStrLenAction, | 115 | parser.add_argument('--board', help='board name', default='', action=ValidateStrLenAction, |
134 | maxlen=16) | 116 | maxlen=16) |