移植recovery.doc

移植recovery.doc

ID:27316453

大小:473.00 KB

页数:7页

时间:2018-12-02

移植recovery.doc_第1页
移植recovery.doc_第2页
移植recovery.doc_第3页
移植recovery.doc_第4页
移植recovery.doc_第5页
资源描述:

《移植recovery.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、移植recovery目前一直在学习源码方面的知识,前段时间刚刚搞定了recovery的移植。这方面的资料真实少之又少啊,谷歌了几天,文章也就那几篇而已,更别提国内的资料了。你让我们热爱学习的小白情何以堪。于是乎就开始动手了,编译的过程中,自己做了一些随笔的记录。把自己遇到的一些问题和解决办法都记录了下了,放在自己的笔记里了。今天整理出来,和大家共享一下。本教程是针对有一定基础的人。如果你不会Ubuntu,不会环境的搭建。那你还是先学习一下吧。装Ubuntu各种各样的教程,网上一找一大堆。教程所用的系统为Ubuntu12.04,示例机型为中兴N880E。源码目录为~/an

2、droid/system/。码字不容易,你懂的。。。。。。。教程开始:源码的同步大家可以看官方文档,教程直接从源码同步完后开始。1、同步源码到最新,我同步的源码目录为~/android/system/,要改为自己的源码目录,下面每一步也一样cd~/android/system/reposync-j162、更新完成后,执行下面命令,完成环境的安装./build/envsetup.sh输出结果:3、下一步,make我们后面要用到的工具make-j4otatools输出结果:执行完成后的输出:会生成out目录,在/out/host/linux-x86/bin中有后面要用到的工

3、具。4、将/out/host/linux-x86/bin加入环境变量,变量具体位置要改成你的:gedit~/.bashrc在文本最后添加:exportPATH=$PATH:~/android/system/out/host/linux-x86/bin保存退出,执行下面命令,让刚加的环境变量生效:source~/.bashrc4、从官方包中,别人的ROM包也可以,拿出boot.img。我放到了~/android/目录5、开始建立我们N880E的device目录:./build/tools/device/mkvendor.shzten880e~/android/boot.i

4、mg命令参考:./build/tools/device/mkvendor.shdevice_manufacturer_namedevice_name/your/path/to/the/boot.img命令输出为:此时在/device/zte/中就会有你的机型n880e了,里面有你的配置文件:AndroidBoard.mk,AndroidProducts.mk,BoardConfig.mk,device_.mk,kernel,system.prop,recovery.fstab,andvendorsetup.sh.6、修改配置文件:在这里很重要的一个文件就是recover

5、y.fstab,是你手机里各个设备分区对应的挂载点,可以理解为手机的分区表。如果这个文件有错误,那么进入recovery后,会提醒分区挂载失败。这个文件我们可以从官方的recovery.img提取出来。也可以直接解包别人编译好的recovery,得到recovery.fstab当然,我们也可以自己动手写。目前,自己也没发现什么简洁一点的办法。我是查看刷机包中的updater-script文件中各个分区的挂载点和cat/proc/mount输出结果:cat/proc/partitions输出结果:一个个排除定位出来的。大家有好的办法,可以共同探讨。这里有一个分区表比较全的

6、recovery.fstab,大家可以按照自己手机的分区表修改。7、开始编译,执行命令:./build/envsetup.sh&&lunchfull_n880e-eng(把n880e替换为自己的机型)输出结果:下一步命令,编译开始:make-j4recoveryimage最后成功时输出结果:输出的目录为:out/target/product/n8880e/recovery.img文件,就是我们要的。NOTE:1、编译时间:实体机,一两分钟的样子(i3-380、2GBDDR3)2、异常处理:(都是自己编译过程中遇到的笔录,非官方)错误1:执行./build/envsetu

7、p.sh命令后,提示某些设备文件不存在。这是自己当初在CM7源码下编译出现的,因为自己没有把所有的设备的源码同步下来,一些设备自己在~/android/system/.repo/manifest.xml中用注释掉了,所以同步完源码后要修改vendor/cyanogen/products/AndroidProducts.mk文件,把没有同步的设备删除掉。重新执行命令就行了。错误2:在编译的最后,提示出错“Boot.imgistoolarge”,自己当时的解决办法是修改BoardConfig.mk:#fixthisupbyexamining/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。