diff options
author | Steve Kondik <shade@chemlab.org> | 2012-11-18 19:19:50 -0800 |
---|---|---|
committer | Steve Kondik <shade@chemlab.org> | 2012-11-18 19:19:50 -0800 |
commit | 39d33d8d54ba55e49f9b430f842647a84751cb85 (patch) | |
tree | f5a3756ea25d3b87902ae6a6a8df2428509e4246 /mkbootimg | |
parent | d8aa8ab7424be375e4408ab360c000ac8b05d15d (diff) | |
parent | 31da9db0d1bf3227e3c383aa6ac28bde3c6409e5 (diff) | |
download | system_core-39d33d8d54ba55e49f9b430f842647a84751cb85.zip system_core-39d33d8d54ba55e49f9b430f842647a84751cb85.tar.gz system_core-39d33d8d54ba55e49f9b430f842647a84751cb85.tar.bz2 |
Merge branch 'jb-mr1-release' of https://android.googlesource.com/platform/system/core into mr1
Conflicts:
adb/Android.mk
adb/usb_vendors.c
include/private/android_filesystem_config.h
include/system/audio.h
include/system/camera.h
init/property_service.c
libnetutils/ifc_utils.c
mkbootimg/mkbootimg.c
rootdir/init.rc
Change-Id: Ie42f0c14808e9f8cabd24854bfe15b6667955229
Diffstat (limited to 'mkbootimg')
-rw-r--r-- | mkbootimg/mkbootimg.c | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/mkbootimg/mkbootimg.c b/mkbootimg/mkbootimg.c index 2bd473b..5579f5b 100644 --- a/mkbootimg/mkbootimg.c +++ b/mkbootimg/mkbootimg.c @@ -110,18 +110,17 @@ int main(int argc, char **argv) int fd; SHA_CTX ctx; uint8_t* sha; + unsigned base = 0x10000000; + unsigned kernel_offset = 0x00008000; + unsigned ramdisk_offset = 0x01000000; + unsigned second_offset = 0x00f00000; + unsigned tags_offset = 0x00000100; argc--; argv++; memset(&hdr, 0, sizeof(hdr)); - /* default load addresses */ - hdr.kernel_addr = 0x10008000; - hdr.ramdisk_addr = 0x11000000; - hdr.second_addr = 0x10F00000; - hdr.tags_addr = 0x10000100; - while(argc > 0){ char *arg = argv[0]; char *val = argv[1]; @@ -141,13 +140,15 @@ int main(int argc, char **argv) } else if(!strcmp(arg, "--cmdline")) { cmdline = val; } else if(!strcmp(arg, "--base")) { - unsigned base = strtoul(val, 0, 16); - hdr.kernel_addr = base + 0x00008000; - hdr.ramdisk_addr = base + 0x01000000; - hdr.second_addr = base + 0x00F00000; - hdr.tags_addr = base + 0x00000100; - } else if(!strcmp(arg, "--ramdiskaddr")) { - hdr.ramdisk_addr = strtoul(val, 0, 16); + base = strtoul(val, 0, 16); + } else if(!strcmp(arg, "--kernel_offset")) { + kernel_offset = strtoul(val, 0, 16); + } else if(!strcmp(arg, "--ramdisk_offset")) { + ramdisk_offset = strtoul(val, 0, 16); + } else if(!strcmp(arg, "--second_offset")) { + second_offset = strtoul(val, 0, 16); + } else if(!strcmp(arg, "--tags_offset")) { + tags_offset = strtoul(val, 0, 16); } else if(!strcmp(arg, "--board")) { board = val; } else if(!strcmp(arg,"--pagesize")) { @@ -162,6 +163,10 @@ int main(int argc, char **argv) } hdr.page_size = pagesize; + hdr.kernel_addr = base + kernel_offset; + hdr.ramdisk_addr = base + ramdisk_offset; + hdr.second_addr = base + second_offset; + hdr.tags_addr = base + tags_offset; if(bootimg == 0) { fprintf(stderr,"error: no output filename specified\n"); |