参考:
http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images
http://android-dls.com/files/apps/unpack-bootimg.zip
mkbootimg下载
http://android.git.kernel.org/?p=platform/system/core.git;a=tree;f=mkbootimg
http://android.git.kernel.org/?p=platform/system/core.git;a=tree;f=libmincrypt;h=68ea9ab027fc817ef3b5051b71b15c67177be2db;hb=HEAD
http://android.git.kernel.org/?p=platform/system/core.git;a=tree;f=include/mincrypt;h=ad10aeda89131ea62f35729d2a8b870cd16df0fc;hb=HEAD
源头 : ruu packet -> rom.zip -> boot.img
解包:
split_bootimg.pl ../boot.img (解压到当前目录 )
(zImage to boot.img-kernel "Desire rom - build kernel")
gunzip -c ../your-ramdisk-file | cpio -i (解压到当前目录 )
(修改 default.prop... 实际上发现 所谓的root 就是修改 default.prop : ro.secure=0)
打包:
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz (ramdisk ram?)
gcc mkbootimg.c sha.c rsa.c -o mkbootimg
mkbootimg --base 0x20000000 --cmdline 'no_console_suspend=1' --kernel boot.img-kernel --ramdisk newramdisk.cpio.gz -o boot.img
通过对比 发现必须制定地址开始: --base 0x20000000