1. 同步cm10.1的源码,具体操作请百度之~~

2. 打开终端,到源码目录下:

cd Android/cm10.1                   //我的源码目录

3. 如果不想使用cm10.1的英文源码,可以按如下操作获取我的recovery汉化源码:(如不需要,请直接下一步!)

rm -rf bootable/recovery         //删除原来的cm10.1的recovery源码

git clone git@github.com:APAR1992/CWM_Recovery_v6037_cn.git bootable/recovery      //获取我的recovery源码

我有源码,就不执行上面这句了,直接复制一下~~

4. 获取你的机子的recovery.img(原厂的或者别人编译的也行),具体请自己搞定,线刷包里面有,没有的自己想办法提取,

这儿就不说了。为了方便,将名字改为你的机子的型号(eg:G6.img),然后将其放到主目录(~/G6.img)。

放到其它目录也行,按自己情况随便放吧。

5. 在源码目录执行如下语句生成 otatools ,下一步会用到:

make otatools -j4       //注意空格,后面的 -j4 可以视你的电脑配置而定,电脑配置不行就不加或者 -j2 ,

电脑配置好点呢就 -j8 或者 -j16 ,你可以试试,不过太大了电脑会卡死~~

执行这步可能需要比较长的时间,有可能在1小时左右,请耐心等待(已经编译过的,请直接下一步!)

otatools编译完成之后还需要把 out/host/linux-x86/bin 文件夹加入到环境变量中去,这个请百度一下吧,

ubuntu直接在主目录下终端执行 gedit .bashrc ,打开修改就行了,网上都有,按情况添加就行了,其他linux版本可能没有

~/.bashrc 文件,可以加到/etc/environment 里面,都是一样的效果

完了之后执行  source .bashrc (source /etc/environment)  使修改生效,重启一下也是可以的~~百度都有,就不详细说了

我已经有了,所以这一步就不用执行了,跳过~~

6. 执行如下语句生成你的机型device:

./build/tools/device/mkvendor.sh XiaoCai G6 ~/G6.img      //(cpio: 归档非正常终止 )不用管,mtk的就这样,不影响编译。

请注意命令中的空格,不要打错!!!

生成device文件了~~~好像没什么可说的~~

7. 修改你的机子的device,主要是改BoardConfig.mk ,因为只是编译recovery,所以稍微修改一下就可以了。

可以打开 recovery/README.md 查看需要额外添加的语句。加上我上面加的那两句就行了,其他可以不用管。

还有一个要改的就是分区表 recovery.fstab ,这个没法说清楚,请查看自己机子的分区对应修改!

可以看一下我给别的机子改的分区表,大概就那个样子,按照自己的机子分区改一下就行了~~

8. 然后就可以编译了,为了方便,可以在你的机型目录下新建一个 vendorsetup.sh 。并且在里面写上你的机型。

打开你的机型文件夹,然后右键新建文档,改名 vendorsetup.sh ,打开修改,按情况在里面加上一句:

add_lunch_combo cm_G6-eng 。下一步在lunch的时候就会有你的机型了。

9. 开始编译,执行如下命令:

. build/envsetup.sh(或者 source build/envsetup.sh)        //执行这句很重要!   一般还是执行source build/envsetup.sh 这句吧

lunch       // lunch,然后选择你的机型,输入序号即可

make recoveryimage -j4      //注意空格,回车之后就开始编译了。(我i5-2450的处理器,-j8还行,不会卡爆~~)

应该是在加载文件,所以有点慢,请等待~~  之后CPU会满载进行编译~~

只要不出现error ,不停止就没问题,直接编译完成就行了~~大概需要3分钟左右吧~~

刚才看到的那些chinese一段是在执行汉化脚本的编译~~

10. 编译完了~~高通的一般能直接使用,mtk的需要另外处理(具体请自己搞吧~~)

G6/recovery/root里面的文件就是编译生成的,mtk的经过重新打包就能用了。我不写了,上课去~~

刷入之后有问题的,比如无法挂载分区,无法挂载U盘等等的,请检查分区表配置文件!

编译cwm-recovery(含部分修改步骤)[转]的更多相关文章

  1. MTK Recovery 模式横屏修改(适用于6.0 + 8.1)

    修改前 修改后 6.0 Recovery 模式横屏修改方法 修改相关文件 bootable\recovery\minui\Android.mk bootable\recovery\minui\mt_g ...

  2. 使用autotools工具用configure、make、make install编译安装linux工程的详细步骤

    使用autotools工具用configure.make.make install编译安装linux工程的详细步骤 转载tmxkwzy 最后发布于2016-11-24 10:20:15 阅读数 324 ...

  3. Gcc的编译流程分为了四个步骤:

    http://blog.csdn.net/xiaohouye/article/details/52084770(转) Gcc的编译流程分为了四个步骤: 1.预处理,生成预编译文件(.文件): Gcc ...

  4. gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解

    摘自http://blog.csdn.net/elfprincexu/article/details/45043971 gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解 C和C+ ...

  5. Qt与VS2005/2008的完美配合(自己编译Qt4.5.1的详细步骤)

    介绍 用过Linux的人想必都知道Qt(不是QuickTime,呵呵)这个名称,KDE就是用Qt写的,我也是接触Linux后才认识它的. Qt原先是奇趣科技TM(Trolltech)的产品,由Haav ...

  6. 记录魅族m1note编译TWRP recovery 3.1.0-0,包括mtk机型的处理方法

    1.安装64位linux系统,我用的是deepin os 15.3 2.将系统升级到最新版本 sudo apt-get update && sudo apt-get upgrade 3 ...

  7. Spark Tachyon编译部署(含单机和集群模式安装)

    Tachyon编译部署 编译Tachyon 单机部署Tachyon 集群模式部署Tachyon 1.Tachyon编译部署 Tachyon目前的最新发布版为0.7.1,其官方网址为http://tac ...

  8. VS2003编译后的网站如何修改代码

    VS2003编译后的网站,如果没有源代码,而要修改里面的代码时,可以以以下方式解决: 反编译dll,把找出cs代码文件,然后重新建一个类项目,把此文件中的代码修改后重新生成dll,放在编译的网站中的b ...

  9. C# 反编译-Reflector 反混淆-De4Dot 修改dll/exe代码-reflexil

    反编译工具 Reflector 破解版下载地址:http://pan.baidu.com/s/15UwJo 使用方法:略 反混淆工具De4Dot 开源软件 下载地址http://pan.baidu.c ...

随机推荐

  1. 设置tableWidget->verticalScrollBar()的属性

    tableWidget->verticalScrollBar()->setStyleSheet("QScrollBar{background:rgb(255,255,0); wi ...

  2. 8.2.1.5 Engine Condition Pushdown Optimization 引擎条件下推优化

    8.2.1.5 Engine Condition Pushdown Optimization 引擎条件下推优化 这种优化改善了直接比较在一个非索引列和一个常量比较的效率. 在这种情况下, 条件是 下推 ...

  3. 基于SQL_ID查看对象大小

    SQL> set echo off set echo off set verify off set serveroutput on set feedback off set lines 200 ...

  4. 大型分布式C++框架《四:netio之请求包中转站 上》

    本来一篇文章就该搞定的.结果要分上下篇了.主要是最近颈椎很不舒服.同时还在做秒杀的需求也挺忙的. 现在不能久坐.看代码的时间变少了.然后还买了两本治疗颈椎的书.在学着,不过感觉没啥用.突然心里好害怕. ...

  5. 把本地建好的项目提交到git上

    才开始用git来控制项目版本,刚开始时不是很会用,由于公司最近新开个项目,需要我把建好的项目放到git上去,慢慢的摸索,终于有点小小的结果,把一个项目成功提交到git上了,在这里记录下,以免下次忘记, ...

  6. Javascript:数组和字符串的相互转化

    中午吃饭的时候,和室友讨论前端的问题,然后一个有趣的问题被抛出来: javascript用什么方法可以把“hello world”位置反转输出,即输出:"dlrow olleh"? ...

  7. Ignatius and the Princess III --undo

    Ignatius and the Princess III Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (J ...

  8. 《STL源代码剖析》---stl_alloc.h阅读笔记

    这一节是讲空间的配置与释放,但不涉及对象的构造和析构,仅仅是解说对象构造前空前的申请以及对象析构后空间怎么释放. SGI版本号的STL对空间的的申请和释放做了例如以下考虑: 1.向堆申请空间 2.考虑 ...

  9. C# List 泛型用法

    List 类是 ArrayList 类的泛型等效类,某些情况下,用它比用数组和 ArrayList 都方便. 我们假设有一组数据,其中每一项数据都是一个结构. public struct Item{  ...

  10. Asp.Net WebAPI 通过HttpContextBase获取请求参数

    WEBAPI中的Request是HttpRequestMessage类型,不能像Web传统那样有querystring和from 方法接收参数,而传统的HttpReqest的基类是HttpReqest ...