第三篇--编译CM系统

我是Longer · 收录于 2023-12-06 19:40:03 · source URL

1、在正式编译系统前,我们还需要几份代码才能编译出可以刷入我们实体机的ROM,分别是设备的devicekernelvendor,其中devicekernel是必要的,vendor如果有的话最好,没有的话可以从手机中提取,当然,提取的文件需要依靠device,这些文件可以在github网站中搜索得到,各位可能还需要学习一下有关github的使用,还有,各位需要知道自己机型对应的设备代号,例如Xperia U的代号是kumquat

2、如果你有获取了以上完整的三份代码,那么我们就可以开始编译了,device的位置一般放在 源码文件夹/device/设备制造厂商/设备代号,同理kernelvendor也是一样

3、进入device,如果存在cm.dependencies,那么里面代码则是保证编译完成需要的额外代码仓库,里面标识了需要的代码仓库和对应的路径

4、进入你下载源码的文件夹,然后输入一下命令

. build/envsetup.sh

brunch 机型代号      例如brunch kumquat

5、编译过程中如果出现什么问题,可以google

编译时间需要根据电脑性能决定,我的个人电脑需要12个小时才能编译完一次

6、开启ccache,在第二次及以后加速编译

在存放源码的目录下,终端输入命令prebuilt/linux-x86/ccache/ccache -M 50G,其中,50G代表缓存的大小,可以自行更改大小,建议不小于20G

打开环境配置文件gedit ~/.bashrc

在最后边加入export USE_CCACHE=1 

表示开启ccache,在第一次编译后保存编译的头文件,默认保存文件在~/.ccache里面,路径可以更改,同样在上面的配置文件最后加入

export CCACHE_DIR=<path-to-your-cache-directory>

在终端下,命令  ccache -s  可以查看ccache文件夹的使用情况,如果想完全清楚ccache,使用命令  ccache -C