aboutsummaryrefslogtreecommitdiffstats
path: root/mkbootimg
diff options
context:
space:
mode:
authorSteve Kondik <shade@chemlab.org>2012-11-18 19:19:50 -0800
committerSteve Kondik <shade@chemlab.org>2012-11-18 19:19:50 -0800
commit39d33d8d54ba55e49f9b430f842647a84751cb85 (patch)
treef5a3756ea25d3b87902ae6a6a8df2428509e4246 /mkbootimg
parentd8aa8ab7424be375e4408ab360c000ac8b05d15d (diff)
parent31da9db0d1bf3227e3c383aa6ac28bde3c6409e5 (diff)
downloadsystem_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.c31
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");