假如你仅仅对内核感兴趣,你可以用这个向导下载和构建适当的内核。
下面描述假设你没有下载 AOSP 的所有。假如你下载了 AOSP 的所有,你能跳过 git clone 步骤以外的下载实际内核源的步骤。
我们将用 Pandaboard 内核在所有下面的例子。
你将想查看你感兴趣的设备项目的内核 git 日志。设备项目的形式 device/<供应商>/<名字>。
$ git clone https://android.googlesource.com/device/ti/panda
$ cd panda
$ git log kernel
日志应该包含保证适当内核项目的 SHA1 记录。保持这值在手上,使你能用它在一个后来的步骤。
你想依赖哪个核,
$ 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
项目包含模拟平台内核源。msm
项目有 ADP1,ADP2 ,Nexus One的源,和能被用作一个开始点工作在 Qualcomm MSM 芯片。omap
项目是被用于 PandaBoard 和 Galaxy Nexus,和能被用作一个开始点工作在 TI OMAP 芯片。samsung
工程是被用于 Nexus S 和能被用作一个开始点工作在 Samsung 峰鸟芯片。tegra
工程是为 Xoom,和能备用作一个开始点工作在 NVIDIA Tegra 芯片。exynos
工程能被用作一个开始点工作在 Samsung Exynos 芯片。保证预编译 toolchain 是在你的环境变量。
$ git clone https://android.googlesource.com/platform/prebuilt
$ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
作为一个例子,我们将构建 panda kernel 内核用下面的命令:
$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-
$ cd omap
$ git checkout <commit_from_first_step>
$ make panda_defconfig
$ make
构建 tuna 内核,你可能运行以前的命令替换所有 "panda" 随着 "tuna"的实例。
device/samsung/tuna/kernel
device/samsung/crespo/kernel
device/moto/wingray/kernel
镜像输出The image is output as arch/arm/boot/zImage。你可能复制它作为
device/<供应商>/<名字>/kernel
或 device/ti/panda/kernel
在这个例子的情况。