Android Kernel 源码在线阅读与下载

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/feglass/article/details/51469056

为了学习Binder Driver的运行原理,必须分析其源码,这才发现下载的Android5.1 AOSP源码中居然没有kernel这个文件夹。搜了一下才知道,Android源码工程默认不包含Linux Kernel代码,而是使用预先编译好的内核。(/prebuilts/qemu-kernel/[cpu架构]/kernel-qemu文件)

这里写图片描述

那去哪里找到kernel源码呢?
谷歌官方提供了一个在线的Android源码阅读网站,可以看到Android git仓库中的全部代码,上面有包含kernel的完整源码:https://android.googlesource.com/kernel/

这里写图片描述

我们可以看到,Android源码中提供了多种CPU的不同内核源码。如针对sdk模拟器的goldfish,三星的exynos(猎户座),高通的msm,联发科的mdiatek等。以下是这些内核的介绍:

goldfish 工程中包含为模拟器平台使用的内核源码。
msm 工程有可供 ADP1,ADP2,Nexus One,Nexus 4,Nexus 5,Nexus 6,也可以被当做一个起始点给 Qualcomm MSM 芯片组使用。
omap 工程被用于 PandaBoard 和 Galaxy Nexus,也可以被当做一个起始点给 TIOMAP 芯片组使用。
samsung 工程是为了 Xoom,Nexus 7,Nexus 9,也可以被当做一个起始点给 Samsung Hummingbird 芯片组使用。
tegra 工程是给 Xoom,Nexus 7,Nexus 9,也可以被当做一个起始点给 NVIDIA Tegra 芯片组使用。
exynos 工程包含供 Nexus 10 的核心源码,也可以被当做一个起始点给 Samsung Exynos 芯片组使用。
x86_64 工程包含有 Nexus Players 的核心源码,也可以被当做一个起始点给 Intel x86_64 芯片组。

但是上面那个网址更适合源码在线阅读,而不是下载。我们知道,Google已经将自己最新的源码迁移到github上,因此登录进github的Android项目主页(https://github.com/android),搜索kernel关键字,就可以找到以下版本的kernel源码。自行下载即可。

这里写图片描述

展开阅读全文

没有更多推荐了,返回首页