文档详情

ROM制作基础教程:boot.img和recovery.img的编辑和修改.doc

发布:2016-02-01约9.61千字共9页下载文档
文本预览下载声明
ROM制作基础教程:boot.img和recovery.img的编辑和修改 转载声明:本文标题boot.img和recovery.img的编辑和修改研究,十分有用。 以下是偶翻译的关于boot.img和recovery.img的编辑和修改方面的文章,希望能够为感兴趣的朋友节约一些看资料的时间。感谢本文的作 者:Alansj, DarkriftX, RyeBrye, Will, Try OP9, Tonyb486, Timmmm, Lxrose还有好多不知名的作者们在wiki上的不懈努力。 如何解包/编辑/大包boot.img文件 很多人用自己的方式解决了boot.img的解包/编辑/打包的问题,有人要求我来写一篇关于boot和recovery映像的文件结构和如何对其编辑的文章,于是就有了下面这篇文章。 目录 1、背景知识 2、boot和recovery映像的文件结构 3、对映像文件进行解包、编辑、打包的常规方法 3.1、另一种解包、编辑、打包的方法 4、将新的映像刷回到手机 5、解包、编辑、打包为我们带来了什么 6、本文讲的内容与使用update.zip刷机包不是一码事 正文 1、背景知识 Android手机的文件系统有许多存储器组成,以下是在adb shell下面的输出: #cat /proc/mtd dev: size erasesize name mtd0:00020000 misc mtd1:00020000 recovery mtd2:00020000 boot mtd3:00020000 system mtd4:00020000 cache mtd5: 04ac0000userdata 注意,不同的手机在上述存储设备的顺序可能会各不相同!一定要检查您的手机,确定在以下的操作中选择正确的设备号(mtdX,这个X的序号一定要检查清楚)。 在本向导中,我们主要描述对recovery和boot的存储设备进行操作;system存储设备保存了android系统目录的所有数据 (在系统启动后会挂载到“system/”目录);“userdata”存储设备将保存了android数据目录中的所有数据(在系统启动后会挂载到 “data/”目录,里面是会有很多应用数据以及用户的preference之类的配置数据)。 从上面的输出可以看出来,recovery和boot分区对应着/dev/mtd/mtd1和/dev/mtd/mtd2,在你您开始做任何修改之前一定要做两件事情,第一件事情,一定要先对这两个分区进行备份。 可以使用如下命令进行备份: # cat /dev/mtd/mtd1 /sdcard/recovery.img # cat /dev/mtd/mtd2 /sdcard/boot.img (注意added by lxros,只有手机获取了ROOT权限以后才能够执行上述的备份命令) 第二件事情,你您应该把你您最喜欢的update.zip刷机包放置到你您的sd卡的根目录上面。如此一来,即使你您在后续的操作中出了问题,也可以启动到recovery模式进行恢复。 另外一个你您需要知道的重要文件是在android系统目录下的/system/recovery.img,此文件是mtd1存储设备的完全拷贝。这个文件在每次关机的时候,会自动地被写回到mtd1存储设备里面。 这会意味着两个事情: (1)任何对/dev/mtd/mtd1中数据的直接修改都会在下一次重启手机以后消失。 (2)如果希望对/dev/mtd/mtd1进行修改,最简单的做法是用你您自己的recovery.img替换掉/system /recovery.img。当你您创建自己的update.zip刷机包的时候(特别是在做刷机包的适配的时候),如果你您忘记替换这个/system /recovery.img,这个recovery.img就会在关机的时候被烧写到mtd1里面去或许会变砖。一定要注意这一点! (译者的话,关于这个/system/recovery.img文件,在2.1的android的平台里面并没有找到,或许这个机制已经out了?!或者偶本人对这段话的理解不够深入?!希望明白的朋友不吝斧正) 2、boot和recovery映像的文件结构 boot和recovery映像并不是一个完整的文件系统,它们是一种android自定义的文件格式,该格式包括了2K的文件头,后面紧跟着是用 gzip压缩过的内核,再后面是一个ramdisk内存盘,然后紧跟着第二阶段的载入器程序(这个载入器程序是可选的,在某些映像中或许没有这部分)。此 类文件的定义可以从源代码androi
显示全部
相似文档