Jump to content

Recommended Posts

Guest smokku
Posted (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 by smokku

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.