构建内核

构建内核

假如你仅仅对内核感兴趣,你可以用这个向导下载和构建适当的内核。

下面描述假设你没有下载 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 芯片。

下载一个预置 gcc

保证预编译 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"的实例。

  • maguro 和 toro 的内核是 device/samsung/tuna/kernel
  • crespo 和 crespo4g 的内核是 device/samsung/crespo/kernel
  • stingray 和 wingray 的内核是 device/moto/wingray/kernel

镜像输出The image is output as arch/arm/boot/zImage。你可能复制它作为 device/<供应商>/<名字>/kerneldevice/ti/panda/kernel 在这个例子的情况。


你可能感兴趣的:(构建内核)