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. android数据保存

    永久保存数据的方法:1.Shared Preferences 以键值对的形式存储基本数据类型( booleans, floats, ints, longs, and strings),存储的数据在限制 ...

  2. hdu-3790最短路径问题

    Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的.   Inp ...

  3. iOS 压缩与裁剪图片问题

    我们假设要在截图中的举行图片展示区显示图片,由于原图片的宽高比例与图片显示窗口的宽高比例不一定相同,所以,直接将图片扔进去会改变图片的宽高比例,展示效果不好. 这时你可能想到设置UIImageView ...

  4. 【更新日志】售后CP更新日志

    记录一下: [售后CP更新日志] ============================================ 更新时间:[-- :] 更新内容: .版本升级,框架升级,框架升级版本3. ...

  5. Android中BroadCast与Activity之间的通信

    在看本文之前,假设你对于Android的广播机制不是非常了解.建议先行阅读我转载的一篇博文:图解 Android 广播机制. 因为本案例比較简单,故直接在此贴出代码,不做过多的阐述. 先上效果截图: ...

  6. Hibernate介绍

    1.什么是Hibernate? 首先,Hibernate是数据持久层的一个轻量级框架.数据持久层的框架有很多比如:iBATIS,myBatis,Nhibernate,Siena等等. 并且Hibern ...

  7. 初学Pexpect

    概述 Pexpect 是 Don Libes 的 Expect 语言的一个 Python 实现,是一个用来启动子程序,并使用正则表达式对程序输出做出特定响应,以此实现与其自动交互的 Python 模块 ...

  8. Selenium2学习之-环境搭建

    1.下载安装Eclipse 2.下载并配置jdk环境变量 2.1 介绍一下环境变量设置 2.1.1 点击环境变量 2.1.2 新增系统变量JAVA_HOME 变量名:JAVA_HOME 变量值:C:\ ...

  9. JavaScript绑定事件的方法[3种]

    在JavaScript中,有三种常用的绑定事件的方法: 在DOM元素中直接绑定: 在JavaScript代码中绑定: 绑定事件监听函数. 一. 在DOM元素中直接绑定 这里的DOM元素,可以理解为HT ...

  10. 读取oracle页面或者进程卡住不动(死锁)

    oracle最坑爹的地方:你insert   update  delete之后  或者kill死锁的时候记得一定要提交事务不然就是死锁卡在那里了 记住  kill死锁也是要提交事务的 select * ...