编译Android内核 For Nexus 5 烧录过程记录

参考Android系统源代码情况分析第二章进行实践,为了提高效率,也为了增加实践机会,使用Nexus5进行内核编译。需要说明的是,Android源代码工程默认是不包含它所使用的Linux内核源码,如果需要运行定制的Linux内核,就要单独下载内核源码,并且对它进行编译。Nexus Android源码的编译参考 

1、下载nexus5 对应的内核源码

Android系统使用的是Linux内核,但与主线分枝的Linux内核又有一些差异,各个不同的厂商又有自己的修改。内核源码位于谷歌境外服务器,不FQ无法访问,这给同步源码造成很大的不便。幸好清华大学的开源服务器上也同步了AOSP内核的源码,使得我们无须FQ就可以同步源码。

映射关系如下:

名称 Google GIT地址 清华服务器地址 common https://android.googlesource.com/kernel/common.git https://aosp.tuna.tsinghua.edu.cn/kernel/common.git exynos https://android.googlesource.com/kernel/exynos.git https://aosp.tuna.tsinghua.edu.cn/kernel/exynos.git goldfish https://android.googlesource.com/kernel/goldfish.git https://aosp.tuna.tsinghua.edu.cn/kernel/goldfish.git hikey-linaro https://android.googlesource.com/kernel/hikey-linaro https://aosp.tuna.tsinghua.edu.cn/kernel/hikey-linaro.git lk https://aosp.tuna.tsinghua.edu.cn/kernel/lk.git msm https://android.googlesource.com/kernel/msm.git https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git omap https://android.googlesource.com/kernel/omap.git https://aosp.tuna.tsinghua.edu.cn/kernel/omap.git samsung https://android.googlesource.com/kernel/samsung.git https://aosp.tuna.tsinghua.edu.cn/kernel/samsung.git tegra https://android.googlesource.com/kernel/tegra.git https://aosp.tuna.tsinghua.edu.cn/kernel/tegra.git x86_64 https://android.googlesource.com/kernel/x86_64.git https://aosp.tuna.tsinghua.edu.cn/kernel/x86_64.git

由于nexus5使用的是高通处理器,所以直接同步msm的链接

ninjame@Ubuntu1604:~/aosp$ mkdir kernel ninjame@ubuntu1604:~/aosp$ cd kernel ninjame@ubuntu1604:~/aosp/kernel$ git clone https://aosp.tuna.tsinghua.edu.cn/kernel/msm.git

git branch 查看Android内核源码的代码版本分支

ninjame@ubuntu1604:~/aosp/kernel/msm$ git branch -a * (头指针分离于 7717f76) master remotes/origin/HEAD -> origin/master remotes/origin/android-4.4 remotes/origin/android-4.4.y …… remotes/origin/android-msm-hammerhead-3.4-kitkat-mr1 remotes/origin/android-msm-hammerhead-3.4-kitkat-mr2 remotes/origin/android-msm-hammerhead-3.4-kk-fr1 remotes/origin/android-msm-hammerhead-3.4-kk-fr2 remotes/origin/android-msm-hammerhead-3.4-kk-r1 remotes/origin/android-msm-hammerhead-3.4-l-preview remotes/origin/android-msm-hammerhead-3.4-lollipop-mr1 remotes/origin/android-msm-hammerhead-3.4-lollipop-mr1.1 remotes/origin/android-msm-hammerhead-3.4-lollipop-release remotes/origin/android-msm-hammerhead-3.4-m-preview remotes/origin/android-msm-hammerhead-3.4-marshmallow remotes/origin/android-msm-hammerhead-3.4-marshmallow-mr1 remotes/origin/android-msm-hammerhead-3.4-marshmallow-mr2 remotes/origin/android-msm-hammerhead-3.4-marshmallow-mr3 …… 

和nexus5 相关的且是adnoid6.0 版本的内核分支共有4个,到底checkout哪个分支呢?对于Android的源码与Android内核源码版本的对应关系,很难说得清楚。经过摸索,找到一种比较讨巧的方法,直接进入手机设置,查看关于手机

 

编译Android内核 For Nexus 5 烧录过程记录

内核版本是3.4.0-g7717f76

ninjame@ubuntu1604:~/aosp/kernel/msm$ git checkout 3.4.0-g7717f76

当发现真的把相应分支源码的源码给同步过来,竟然有种意外的惊喜,这是怎么回事呢?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13888.html