Loading fastboot/bootimg.c +8 −9 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ void bootimg_set_cmdline(boot_img_hdr *h, const char *cmdline) boot_img_hdr *mkbootimg(void *kernel, unsigned kernel_size, void *ramdisk, unsigned ramdisk_size, void *second, unsigned second_size, unsigned page_size, unsigned page_size, unsigned base, unsigned *bootimg_size) { unsigned kernel_actual; Loading @@ -66,13 +66,12 @@ boot_img_hdr *mkbootimg(void *kernel, unsigned kernel_size, memcpy(hdr->magic, BOOT_MAGIC, BOOT_MAGIC_SIZE); hdr->kernel_size = kernel_size; hdr->kernel_addr = 0x10008000; hdr->ramdisk_size = ramdisk_size; hdr->ramdisk_addr = 0x11000000; hdr->second_size = second_size; hdr->second_addr = 0x10F00000; hdr->tags_addr = 0x10000100; hdr->kernel_addr = base + 0x00008000; hdr->ramdisk_addr = base + 0x01000000; hdr->second_addr = base + 0x00F00000; hdr->tags_addr = base + 0x00000100; hdr->page_size = page_size; memcpy(hdr->magic + page_size, Loading fastboot/fastboot.c +15 −1 Original line number Diff line number Diff line Loading @@ -42,6 +42,14 @@ #include "fastboot.h" void bootimg_set_cmdline(boot_img_hdr *h, const char *cmdline); boot_img_hdr *mkbootimg(void *kernel, unsigned kernel_size, void *ramdisk, unsigned ramdisk_size, void *second, unsigned second_size, unsigned page_size, unsigned base, unsigned *bootimg_size); static usb_handle *usb = 0; static const char *serial = 0; static const char *product = 0; Loading @@ -49,6 +57,8 @@ static const char *cmdline = 0; static int wipe_data = 0; static unsigned short vendor_id = 0; static unsigned base_addr = 0x10000000; void die(const char *fmt, ...) { va_list ap; Loading Loading @@ -257,7 +267,7 @@ void *load_bootable_image(const char *kernel, const char *ramdisk, } fprintf(stderr,"creating boot image...\n"); bdata = mkbootimg(kdata, ksize, rdata, rsize, 0, 0, 2048, &bsize); bdata = mkbootimg(kdata, ksize, rdata, rsize, 0, 0, 2048, base_addr, &bsize); if(bdata == 0) { fprintf(stderr,"failed to create boot.img\n"); return 0; Loading Loading @@ -545,6 +555,10 @@ int main(int argc, char **argv) if(!strcmp(*argv, "-w")) { wants_wipe = 1; skip(1); } else if(!strcmp(*argv, "-b")) { require(2); base_addr = strtoul(argv[1], 0, 16); skip(2); } else if(!strcmp(*argv, "-s")) { require(2); serial = argv[1]; Loading mkbootimg/mkbootimg.c +15 −13 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ int usage(void) " [ --second <2ndbootloader-filename> ]\n" " [ --cmdline <kernel-commandline> ]\n" " [ --board <boardname> ]\n" " [ --base <address> ]\n" " -o|--output <filename>\n" ); return 1; Loading Loading @@ -104,7 +105,6 @@ int main(int argc, char **argv) char *bootimg = 0; char *board = ""; unsigned pagesize = 2048; unsigned saddr = 0; int fd; SHA_CTX ctx; uint8_t* sha; Loading @@ -114,6 +114,14 @@ int main(int argc, char **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; hdr.page_size = pagesize; while(argc > 0){ char *arg = argv[0]; char *val = argv[1]; Loading @@ -132,8 +140,12 @@ int main(int argc, char **argv) second_fn = val; } else if(!strcmp(arg, "--cmdline")) { cmdline = val; } else if(!strcmp(arg, "--saddr")) { saddr = strtoul(val, 0, 16); } 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, "--board")) { board = val; } else { Loading Loading @@ -163,16 +175,6 @@ int main(int argc, char **argv) strcpy(hdr.name, board); hdr.kernel_addr = 0x10008000; hdr.ramdisk_addr = 0x11000000; if(saddr) { hdr.second_addr = 0x00300000; } else { hdr.second_addr = 0x10F00000; } hdr.tags_addr = 0x10000100; hdr.page_size = pagesize; memcpy(hdr.magic, BOOT_MAGIC, BOOT_MAGIC_SIZE); if(strlen(cmdline) > (BOOT_ARGS_SIZE - 1)) { Loading Loading
fastboot/bootimg.c +8 −9 Original line number Diff line number Diff line Loading @@ -40,7 +40,7 @@ void bootimg_set_cmdline(boot_img_hdr *h, const char *cmdline) boot_img_hdr *mkbootimg(void *kernel, unsigned kernel_size, void *ramdisk, unsigned ramdisk_size, void *second, unsigned second_size, unsigned page_size, unsigned page_size, unsigned base, unsigned *bootimg_size) { unsigned kernel_actual; Loading @@ -66,13 +66,12 @@ boot_img_hdr *mkbootimg(void *kernel, unsigned kernel_size, memcpy(hdr->magic, BOOT_MAGIC, BOOT_MAGIC_SIZE); hdr->kernel_size = kernel_size; hdr->kernel_addr = 0x10008000; hdr->ramdisk_size = ramdisk_size; hdr->ramdisk_addr = 0x11000000; hdr->second_size = second_size; hdr->second_addr = 0x10F00000; hdr->tags_addr = 0x10000100; hdr->kernel_addr = base + 0x00008000; hdr->ramdisk_addr = base + 0x01000000; hdr->second_addr = base + 0x00F00000; hdr->tags_addr = base + 0x00000100; hdr->page_size = page_size; memcpy(hdr->magic + page_size, Loading
fastboot/fastboot.c +15 −1 Original line number Diff line number Diff line Loading @@ -42,6 +42,14 @@ #include "fastboot.h" void bootimg_set_cmdline(boot_img_hdr *h, const char *cmdline); boot_img_hdr *mkbootimg(void *kernel, unsigned kernel_size, void *ramdisk, unsigned ramdisk_size, void *second, unsigned second_size, unsigned page_size, unsigned base, unsigned *bootimg_size); static usb_handle *usb = 0; static const char *serial = 0; static const char *product = 0; Loading @@ -49,6 +57,8 @@ static const char *cmdline = 0; static int wipe_data = 0; static unsigned short vendor_id = 0; static unsigned base_addr = 0x10000000; void die(const char *fmt, ...) { va_list ap; Loading Loading @@ -257,7 +267,7 @@ void *load_bootable_image(const char *kernel, const char *ramdisk, } fprintf(stderr,"creating boot image...\n"); bdata = mkbootimg(kdata, ksize, rdata, rsize, 0, 0, 2048, &bsize); bdata = mkbootimg(kdata, ksize, rdata, rsize, 0, 0, 2048, base_addr, &bsize); if(bdata == 0) { fprintf(stderr,"failed to create boot.img\n"); return 0; Loading Loading @@ -545,6 +555,10 @@ int main(int argc, char **argv) if(!strcmp(*argv, "-w")) { wants_wipe = 1; skip(1); } else if(!strcmp(*argv, "-b")) { require(2); base_addr = strtoul(argv[1], 0, 16); skip(2); } else if(!strcmp(*argv, "-s")) { require(2); serial = argv[1]; Loading
mkbootimg/mkbootimg.c +15 −13 Original line number Diff line number Diff line Loading @@ -63,6 +63,7 @@ int usage(void) " [ --second <2ndbootloader-filename> ]\n" " [ --cmdline <kernel-commandline> ]\n" " [ --board <boardname> ]\n" " [ --base <address> ]\n" " -o|--output <filename>\n" ); return 1; Loading Loading @@ -104,7 +105,6 @@ int main(int argc, char **argv) char *bootimg = 0; char *board = ""; unsigned pagesize = 2048; unsigned saddr = 0; int fd; SHA_CTX ctx; uint8_t* sha; Loading @@ -114,6 +114,14 @@ int main(int argc, char **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; hdr.page_size = pagesize; while(argc > 0){ char *arg = argv[0]; char *val = argv[1]; Loading @@ -132,8 +140,12 @@ int main(int argc, char **argv) second_fn = val; } else if(!strcmp(arg, "--cmdline")) { cmdline = val; } else if(!strcmp(arg, "--saddr")) { saddr = strtoul(val, 0, 16); } 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, "--board")) { board = val; } else { Loading Loading @@ -163,16 +175,6 @@ int main(int argc, char **argv) strcpy(hdr.name, board); hdr.kernel_addr = 0x10008000; hdr.ramdisk_addr = 0x11000000; if(saddr) { hdr.second_addr = 0x00300000; } else { hdr.second_addr = 0x10F00000; } hdr.tags_addr = 0x10000100; hdr.page_size = pagesize; memcpy(hdr.magic, BOOT_MAGIC, BOOT_MAGIC_SIZE); if(strlen(cmdline) > (BOOT_ARGS_SIZE - 1)) { Loading