Android goldfish kernel source


Building Kernels

If you are only interested in the kernel, you may use this guide to download and build the appropriate kernel.

The following instructions assume that you have not downloaded all of AOSP. If you have downloaded all of AOSP, you may skip the git clone steps other than the step to download the actual kernel sources.

We will use the Pandaboard kernel in all the following examples.
Figuring out which kernel to build

You will want to look at the git log for the kernel in the device project that you are interested in. Device projects are of the form device//.

$ cd panda
$ git log kernel

The log should contain notes of the commit SHA1 for the appropriate kernel project. Keep this value at hand so that you can use it in a later step.
Downloading sources

Depending on which kernel you want,

The goldfish project contains the kernel sources for the emulated platforms.
The msm project has the sources for ADP1, ADP2, Nexus One, and can be used as a starting point for work on Qualcomm MSM chipsets.
The omap project is used for PandaBoard and Galaxy Nexus, and can be used as a starting point for work on TI OMAP chipsets.
The samsung project is used for Nexus S and can be used as a starting point for work on Samsung Hummingbird chipsets.
The tegra project is for Xoom and Nexus 7, and can be used as a starting point for work on NVIDIA Tegra chipsets.
The exynos project can be used as a starting point for work on Samsung Exynos chipsets.

Downloading a prebuilt gcc

Ensure that the prebuilt toolchain is in your path.

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


As an example, we would build the panda kernel using the following commands:

$ export ARCH=arm
$ export SUBARCH=arm
$ export CROSS_COMPILE=arm-eabi-
$ cd omap
$ git checkout
$ make panda_defconfig
$ make

To build the tuna kernel, you may run the previous commands replacing all instances of “panda” with “tuna”.

The kernel for maguro and toro is device/samsung/tuna/kernel
The kernel for crespo and crespo4g is device/samsung/crespo/kernel
The kernel for stingray and wingray is device/moto/wingray/kernel

The image is output as arch/arm/boot/zImage. You may copy it as device///kernel or device/ti/panda/kernel in the case of this example.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>