EAMARS今天给出了linux下解包、打包自定义内核img镜像的方法,我就把Windows环境下解包打包的方法告诉各位(方便各位替换Z的Umad?)。方法一和二绝对原创,且针对于X10,不是从别人那转来的,不过用了点小技巧而已。一开始我只发现了方法1,随后和EAMARS讨论后,他给出了方法2。方法一一.解包boot.img去我N年前就在这里发的工具集合帖子()里下载Cygwin厨房,这里,直接用它给的解包img工具解包后即使打包,也会因为基地址不正确而导致替换后不成功的问题。所以我给出了一个技巧性方法来正确解包和打包。1.首先你随便拿一个.zip格式的X10ROM刷机包,Miui、CM7、官方rom、Blend、8.9.5都可以。改名字为update.zip放入Cygwin\home\user\original_update目录下,注意这里的user是你的用户名(这个在工具帖子里有说明)。2.启动Cygwin,选择第一项建立工作目录。命名工作目录自己定,比如WORKING_XXXX。在提示选择是否添加一个假冒的boot.img时一定记得选择是,也就是y。3.完成后会回到厨房首页,这时候最小化厨房,将需要解包的boot.img复制到Cygwin\home\user\WORKING_XXXX下替换下面的假冒boot.img。4.回到厨房选择0,进入工作界面,选择20解包或打包镜像。选择w,回车后,boot.img就解包完成了。解包后的文件在Cygwin\home\user\BOOT-EXTRACTED下面。注意,请尽量在打包之前不要关闭厨房软件。二.打包boot.img1.修改替换好图片后(怎么修改替换Umad?请看这里:=findpost&ptid=2554220&pid=39855039&fromuid=630521)2.回到厨房界面,选择b打包即可,这样boot.img就会以正确的0x20000000基地址打包。不按这个方法用工具独立解包打包img镜像,系统会以HTC的基地址(0x00200000)打包镜像,那你必须要悲剧了,你会发现替换启动后,开不了机有木有????迷茫了有木有????白化了有木有????所以用这个方法能骗过系统获取正确的基地址从而完成打包工作。---------------------------------------------------------------------------------------------------------方法二(由EAMARS提供)直接修改程序提供的默认基地址,把他改为X10的基地址:0x200000001.打开Cygwin\home\user\scripts\build_boot_img2.找到236行1../$mkbootimg_file--kernelzImage--ramdiskramdisk-boot--cmdline$cmd_line-onewBoot.img--base$base复制代码3.修改$base为0x20000000由此强制将基地址设置为0x20000000,在选择单独解包和打包时,就能正确打包。小白,您就当你没看过这个帖子就行了。求放过。boot.jpg(32.24KB)进阶教程-如何拆包/打包boot.img提取内核和ramdisk为何要拆包/打包boot.img?由於不同ROM的ramdisk需求不同,直接替换boot.img来更换内核的话可能会造成不同的问题,所以如果想要单纯换内核而不换ramdisk的话,就需要拆包boot.img,U8800的ramdisk主要分别在於wifi驱动和init二进制文件和init.rc起始脚本.一般建议只更换内核而不更换ramdisk.另外请注意2.2和2.3内核基本上不相通.拆包出来的boot.img包含什么?拆包出来的boot.img主要包含以下文件:1.kernel(内核)2.ramdisk.gz(虚拟起动盘)ramdisk可以再拆包,得出以下文件:1.initrd文件夹(虚拟起动盘内的文件)2.cpiolist.txt(虚拟起动文件的权限设定文件)拆包/打包boot.img教程例子-(把FF的2.2内核替换到genokolar的2.2ROM里的boot.img,这样就可以试用FF内核同时保存genokolar的标志脚本及wifi驱动,V8.4还有ext4)1.把附件的bootimg.zip解压成bootimg.exe放到电脑上的C:\TEST\.2.把genokolarROM里的boot.img放到C:\TEST\GENO\.3.把FF内核包的boot.img放到C:\TEST\FF\.4.在DOS命令提示里换到C:\TEST\GENO\执行以下指令拆包原来的boot.img.1.C:\TEST\GENO\bootimg.exe--unpack-bootimg复制代码成功後会生成kernel和ramdisk.gz两个文件.5.在DOS命令提示里换到C:\TEST\FF\执行以下指令拆包FF的boot.img.1.C:\TEST\FF\bootimg.exe--unpack-bootimg复制代码成功後会生成kernel和ramdisk.gz两个文件.6.将GENO的ramdisk.gz文件和FF的kernel文件放到C:\TEST\TEST\.7.在DOS命令提示里换到C:\TEST\TEST\执行以下指令打包新的boot.img.1.C:\TEST\TEST\bootimg.exe--repack-bootimg0x200000console=ttyDCC0androidboot.hardware=huawei40964096复制代码成功後会生成新的boot.img文件.8.将新的boot.img放到手机上的/cust/image/进行测试,替换前一定要备份原来的boot.img,因为不一定能成功开机,不能开机的话粉屏替换原来的boot.img还原就行.拆包/打包ramdisk另外ramdisk也能拆包/打包,主要用途在於修改init.rc,替换init二进文件和替换wifi驱动,有兴趣可自行研究.拆包指令是1.bootimg.exe--unpack-ramdisk复制代码打包指令是1.bootimg.exe--repack-ramdisk复制代码注意相关文件权限设定要修改cpiolist.txt