Guest smokku Posted August 28, 2010 Report Posted August 28, 2010 (edited) Reading the header of the working "boot.img", pagesize is 0x800, then it is 2k pagesize, but every block must be align to 4k (zero padding). Changes to "makebootimg.c" are: //static unsigned char padding[2048] = { 0, }; static unsigned char padding[4096] = { 0, }; ... if(write(fd, &hdr, sizeof(hdr)) != sizeof(hdr)) goto fail; //if(write_padding(fd, pagesize, sizeof(hdr))) goto fail; if(write_padding(fd, 4096, sizeof(hdr))) goto fail; if(write(fd, kernel_data, hdr.kernel_size) != hdr.kernel_size) goto fail; //if(write_padding(fd, pagesize, hdr.kernel_size)) goto fail; if(write_padding(fd, 4096, hdr.kernel_size)) goto fail; if(write(fd, ramdisk_data, hdr.ramdisk_size) != hdr.ramdisk_size) goto fail; //if(write_padding(fd, pagesize, hdr.ramdisk_size)) goto fail; if(write_padding(fd, 4096, hdr.ramdisk_size)) goto fail; Besides "makebootimg.c" must be modified because "-base" argument is not working in Dell Streak: /* default load addresses */ //hdr.kernel_addr = 0x10008000; //hdr.ramdisk_addr = 0x11000000; //hdr.second_addr = 0x10F00000; //hdr.tags_addr = 0x10000100; hdr.kernel_addr = 0x20008000; hdr.ramdisk_addr = 0x24000000; hdr.second_addr = 0x20F00000; hdr.tags_addr = 0x20000100; Anyway, we have been able to boot with kernel 2.6.29-perf, but we have failed to update the kernel (yet). About SHA values, it is ignored, boot.img worked with SHA values to 0. Even with this changes to system/core/mkbootimg/mkbootimg.c my reconstructed boot.img still does not boot :huh: gzip 1F 8B 08 00 signatures are at offsets: 0x1000 - kernel 0x23f000 - initrd Edited August 29, 2010 by smokku
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now