| <!-- |
| Copyright 2011 The Android Open Source Project |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| # 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/<vendor>/<name>. |
| |
| $ git clone https://android.googlesource.com/device/ti/panda |
| $ 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, |
| |
| $ git clone https://android.googlesource.com/kernel/common.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 |
| |
| |
| ## Downloading a prebuilt gcc ## |
| |
| Ensure that the prebuilt toolchain is in your path. |
| |
| $ git clone https://android.googlesource.com/platform/prebuilt |
| $ export PATH=$(pwd)/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH |
| |
| |
| ## Building ## |
| |
| 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 <commit_from_first_step> |
| $ make panda_defconfig |
| $ make |
| |
| To build the tuna kernel, you may run the previous commands replacing all |
| instances of "panda" with "tuna". |
| |
| The image is output as arch/arm/boot/zImage. You may copy it as |
| device/<vendor>/<name>/kernel or device/ti/panda/kernel in the case of this |
| example. |