概述

如果我们仅仅对Android内核感兴趣,我们可以选择合适的Android内核下载并编译。

可供选择的内核源码有很多版本:

$ git clone https://android.googlesource.com/kernel/common.git

$ git clone https://android.googlesource.com/kernel/exynos.git

$ git clone https://android.googlesource.com/kernel/goldfish.git

$ git clone https://android.googlesource.com/kernel/msm.git

$ git clone https://android.googlesource.com/kernel/omap.git

$ git clone https://android.googlesource.com/kernel/samsung.git

$ git clone https://android.googlesource.com/kernel/tegra.git

goldfish这个project包含了适合于模拟器平台的源码;

msm这个project包含了适合于ADP1、ADP2、Nexus One、Nexus

4的源码,并且可以作为高通MSM芯片组开发定制内核工作的起始点;

omap这个project包含了适合于PandaBoard、Galaxy

Nexus的源码,并且可以作为德州仪器OMAP芯片组内核开发定制工作的起始点;

samsung这个project包含了适合于Nexus

S的源码,并且可以作为三星蜂鸟芯片组内核开发定制工作的起始点;

tegra这个project包含了适合于Xoom和Nexus

7的源码,并且可以作为英伟达图睿芯片组内核开发定制工作的起始点;

exynos这个project包含了适合与Nexus

10的源码,并且可以作为三星猎户座芯片组内核开发定制工作的起始点。

编译

1.我选择的是goldfish这个版本,也即把goldfish给clone下来即可。

$ mkdir AndroidKernel

$ git clone https://android.googlesource.com/kernel/goldfish.git

需要等待一会,视网速而定:

a4c26d1e5885305701be709a3d33442f.png

2.接着进入goldfish,发现里面没有文件,别急,我们还要选择分支,下载真正的源码:

可以通过执行:

$ git branch -a

来查看所有分支,接着:

$ git checkout -b android-goldfish-2.6.29 origin/android-goldfish-2.6.29

下载源码:

a4c26d1e5885305701be709a3d33442f.png

3.下载编译所必需的prebuilt工具:

$ git clone https://android.googlesource.com/platform/prebuilt

等待一会:

a4c26d1e5885305701be709a3d33442f.png

4.将prebuilt工具添加到环境变量中以备后续使用:

$ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH

5.接着配置其他必要的环境变量:

$ export ARCH=arm

$ export SUBARCH=arm

$ export CROSS_COMPILE=arm-eabi-

6.我们执行:

$ make goldfish_defconfig

来在内核源码根目录下生成一个默认的.config文件:

a4c26d1e5885305701be709a3d33442f.png

7.最后,我们就可以编译了:

编译过程截图:

a4c26d1e5885305701be709a3d33442f.png

映像的输出为:arch/arm/boot/zImage,这样就通过默认的配置完成了Android内核的编译。

a4c26d1e5885305701be709a3d33442f.png

from:http://blog.csdn.net/leilu2008/article/details/9467991

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐