编译CWM-recovery

      前面介绍了怎么同步CM源码以后,剩下的要不就是编译卡(线)刷包了,其中编译recovery也是其中的一部分,下面介绍的是单独编译recovery的教程。linux

1)、同步完源码后,输入如下命令。(看了一下,这个命令不是必须的,若是你是再从CM同步指定的device设备的话,就须要这一步)
cd ~/Source/vendor/cm
./get-prebuiltsgit

2)、执行下面命令,完成环境的安装
cd ~/Source(此为编译的recovery的工做目录,就是有Makefile那里)
. build/envsetup.sh(.后面是空格再到build)github

3)、make要用到的工具,会生成out目录
make -j8 otatoolsvim

4)、将生成的/out/host/linux-x86/bin加入环境变量:
vim /etc/profile
在文本最后添加:
export PATH=$PATH: ~/Source/out/host/linux-x86/bin
保存退出,执行下面命令,让刚加的环境变量生效:
source /etc/profile工具

5)、创建本地device,从手机的官方包(官方的线刷包或者卡刷包)中提取boot.img或者recovery.img,好比红米手机,复制到~/Source目录里,执行命令:
./build/tools/device/mkvendor.sh xiaomi hongmi ~/Source/boot.imgui

基本语法是:blog

./build/tools/device/mkvendor.sh 厂商名 设备名 boot或者recovery的路径教程

这样就会生成/device/xiaomi/hongmi/,里面有红米的device文件,还要修改recovery.fstab和BoardConfig.mk文件,具体以下:get

6)、编辑recovery.fstab,能够从别人编译好的recovery中提取recovery.fstab,当没有第三方recovery的时候就只能本身根据手机的信息进行修改,具体能够参考手机adb命令下的这些(其实还有其余的,但在此没法一一列举):同步

cat /proc/dumchar_info
cat /proc/mounts
cat /proc/partitions

BoardConfig.mk有些状况下是不须要修改的,MTK的目前大多数都是不须要怎么修改的,其余CPU的就不必定。

7)、开始编译recovery
仍是在Source目录下,其实下面命令在5)、时会在提示中出现,
lunch cm_hongmi-eng
make -j8 recoveryimage

8)、编译生成的文件

执行完make -j8 recoveryimage以后,会在out目录生成指定设备的输出目录,里面会生成刚才编译的recovery.img,ramdisk等,可是生成的recovery.img不必定是能够直接使用的,

打个比方,好比编译MTK的recovery的时候,生成的recovery.img就不能使用,须要解包官方的recovery,替换ramdisk,打包recovery,这样打包生成的recovery才是能够直接刷进去使用的。其中替换的ramdisk就是out目录

生成的以cpio后缀结尾的文件。另外高通带dt.img的好像必需要修改BoardConfig.mk文件,其余CPU的有待研究。

9)、另外编译生成的recovery是全英文的,想要中文的recovery必需要修改源码个增长字库文件,可是这样搞太麻烦,网上有专门写好的源码下载,在github里面都是开源的,感谢这些大神的创做,下载的时候找对跟本身源码版本对应(在bootable/recovery/Android.mk里查看),CM11最终版是6.0.5.1,若是是如今同步了CM11源码,只须要找对应版本的中文recovery源码便可。

下面是我编译的recovery展现:

相关文章
相关标签/搜索