參考:
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