资源描述:
《recovery手动移植教程.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、替换篇:主要替换文件有kernel,key,recovery.fstab,init.rc。替换文件可以从旧的recovery.img取得。kernel文件就是机子的内核了。key文件是机子的按钮的配置文件。文件在initrd/res文件夹里recovery.fstab就是记载系统各个分区挂载的地方的文件。在initrd/etcinit.rc文件是开机初始化文件。在initrd如果你要添加或着减少文件,记得修改cpiolist.txt文件mtk篇 1.最简单的移植方法是,先解压自己手机的官方r
2、ecovery.img。 进入解压文件夹,找到“kernel“及"kernel_header","ramdisk_header"复制备用。有时候,你还要把recoveryrmdisketc目录下的recovery.fstab留着备用。(如果,在安装新的rcovery之后无法进入recovery模式,那么,不必着急,先等待片刻,并尝试再次进入。有时候,recovery中recovery.fstab没有改好挂载点,会出现这种情况.如果尝试第二次进入仍无法正常使用,可能是你手机的开机引导
3、程序无法识别recovery。这时候请把第三方recovery中的ramdisk_header也替换成官方的ramdisk_header即可。) 2. 找到第三方recovery.img。个人推荐“TWRPrecovery”。(下载同cpu的第三方recovery) 将第三方recovery.img复制到工作目录,先把之前生成recovery文件夹重命名,或者移动到其它目录。否则新的操作会把它删除。接着将它解包。同样得一个名为recovery的文件夹。 3. 将第一步生成的ker
4、nel及kernel_header,ramdisk_header复制替换到第二步生成的第三方recovery文件夹中,并进入第三方recovery解压文件夹的recoveryrmdiskect目录下,找到并打开recovery.fstab,修改其中的挂载点信息.这里要使用支持语法高亮显示的文本编辑器打开修改,如notepad++等,而不能用系统自带记事本.其中,关于sd卡及内置存储的名称表示要与第三方的一样(有些第三方recovery用emmc表示内置存储,那么你也要是这样表示.又如第三方用
5、sdcard2表示外置存储,你也要这么样表示.但挂载点是你手机的)。修改挂载信息是因为,硬件是你手机的,recovery.img中的kernel也换了你手机的.这就决定了手机的分区与挂载驱动的一致性并且与官方原来一样.而recovery.fstab及.rc文件中的相关代码只是要把这些分区挂载到某个目录下.在改好这些挂载信息后,就能将分区挂载到正确的目录下.这一步一定要做,否则分区挂载错误,你的手机系统文件可能会被破坏。或者,你清除缓存格式化等会格错分区。这样将致砖。 4.尽量修改解包目录下的
6、各个.rc文件,将挂载文件系统部分修改成为你手机一致.(需要对比来改).即修改包含{e2fsck,tune2fs,mount.emmc@android等,或/dev/block/mmcblk0p*}部分的代码.(有些要修改mdt@android等) 5.如果你是移植触屏的recovery,还要修改resimage目录下的相应图片的(像素)大小,以适应你的机型。 我推荐的TWRPrecovery还要修改res目录下的ui.xml文件。如果其中数据不对应你的机型的话,进入recovery模
7、式后,界面显示不正常。 6.重新打包。 打包之后,其名称为new_image.img,不要疑惑,它就是新生成的recovery,为了不覆盖原文件(recovery.img),它就被命名为"new".其它带"new"开头的,是用不到了,随时可以删了 7.刷入手机。你可以用spflashtool在“download”方式下指定分区刷入,也可以用“叔叔工具箱”,在手机正常使用的情况下替换,但需要root权限。 如果遇到recovery无法使用的情况,请检查分析哪里出现的问题。有时候第三方的r
8、ecovery中的ramdisk_header没有替换成官方recovery中的ramdisk_header。开机引导会无法识别.在做完这些,应该说是不会出现什么问题了。非mtk篇 对于非MTK平台的recovery移植,要用“其它平台解压recovery.bat”进行解包。在你用mtk解压recovery.img出现错误提示,你就应该意识到你所解压的recovery是非MTK平台的。换个解包批处理即可。 1.非MTKrecovery解包之后,一般会有rmdisk文件夹、ker