page.title=Building Kernels
@jd:body

<!--
    Copyright 2015 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.
-->
<div id="qv-wrapper">
  <div id="qv">
    <h2>In this document</h2>
    <ol id="auto-toc">
    </ol>
  </div>
</div>

<p>This page details how to build only the kernel. The following instructions
assume you have not downloaded all of AOSP; if you have already done so, you can
skip the <code>git clone</code> steps except the step that downloads the kernel
sources.</p>

<p>All examples in this section use the
<a href="{@docRoot}source/devices.html#hikey-boards">hikey</a> kernel.</p>

<h2 id="figuring-out-which-kernel-to-build">Selecting a kernel</h2>
<p>This table lists the name and locations of the kernel sources and binaries:
<table>
  <tr>
    <th>Device</th>
    <th>Binary location</th>
    <th>Source location</th>
    <th>Build configuration</th>
  </tr>
  <tr>
    <td>marlin</td>
    <td>device/google/marlin-kernel</td>
    <td>kernel/msm</td>
    <td>marlin_defconfig</td>
  </tr>
  <tr>
    <td>sailfish</td>
    <td>device/google/marlin-kernel</td>
    <td>kernel/msm</td>
    <td>marlin_defconfig</td>
  </tr>
  <tr>
    <td>hikey</td>
    <td>device/linaro/hikey-kernel</td>
    <td>kernel/hikey-linaro</td>
    <td>hikey_defconfig</td>
  </tr>
  <tr>
    <td>angler</td>
    <td>device/huawei/angler-kernel</td>
    <td>kernel/msm</td>
    <td>angler_defconfig</td>
  </tr>
  <tr>
    <td>bullhead</td>
    <td>device/lge/bullhead-kernel</td>
    <td>kernel/msm</td>
    <td>bullhead_defconfig</td>
  </tr>
  <tr>
    <td>shamu</td>
    <td>device/moto/shamu-kernel</td>
    <td>kernel/msm</td>
    <td>shamu_defconfig</td>
  </tr>
  <tr>
    <td>fugu</td>
    <td>device/asus/fugu-kernel</td>
    <td>kernel/x86_64</td>
    <td>fugu_defconfig</td>
  </tr>
  <tr>
    <td>volantis</td>
    <td>device/htc/flounder-kernel</td>
    <td>kernel/tegra</td>
    <td>flounder_defconfig</td>
  </tr>
  <tr>
    <td>hammerhead</td>
    <td>device/lge/hammerhead-kernel</td>
    <td>kernel/msm</td>
    <td>hammerhead_defconfig</td>
  </tr>
  <tr>
    <td>flo</td>
    <td>device/asus/flo-kernel/kernel</td>
    <td>kernel/msm</td>
    <td>flo_defconfig</td>
  </tr>
  <tr>
    <td>deb</td>
    <td>device/asus/flo-kernel/kernel</td>
    <td>kernel/msm</td>
    <td>flo_defconfig</td>
  </tr>
  <tr>
    <td>manta</td>
    <td>device/samsung/manta/kernel</td>
    <td>kernel/exynos</td>
    <td>manta_defconfig</td>
  </tr>
  <tr>
    <td>mako</td>
    <td>device/lge/mako-kernel/kernel</td>
    <td>kernel/msm</td>
    <td>mako_defconfig</td>
  </tr>
  <tr>
    <td>grouper</td>
    <td>device/asus/grouper/kernel</td>
    <td>kernel/tegra</td>
    <td>tegra3_android_defconfig</td>
  </tr>
  <tr>
    <td>tilapia</td>
    <td>device/asus/grouper/kernel</td>
    <td>kernel/tegra</td>
    <td>tegra3_android_defconfig</td>
  </tr>
  <tr>
    <td>maguro</td>
    <td>device/samsung/tuna/kernel</td>
    <td>kernel/omap</td>
    <td>tuna_defconfig</td>
  </tr>
  <tr>
    <td>toro</td>
    <td>device/samsung/tuna/kernel</td>
    <td>kernel/omap</td>
    <td>tuna_defconfig</td>
  </tr>
  <tr>
    <td>panda</td>
    <td>device/ti/panda/kernel</td>
    <td>kernel/omap</td>
    <td>panda_defconfig</td>
  </tr>
  <tr>
    <td>stingray</td>
    <td>device/moto/wingray/kernel</td>
    <td>kernel/tegra</td>
    <td>stingray_defconfig</td>
  </tr>
  <tr>
    <td>wingray</td>
    <td>device/moto/wingray/kernel </td>
    <td>kernel/tegra</td>
    <td>stingray_defconfig</td>
  </tr>
  <tr>
    <td>crespo</td>
    <td>device/samsung/crespo/kernel</td>
    <td>kernel/samsung</td>
    <td>herring_defconfig</td>
  </tr>
  <tr>
    <td>crespo4g</td>
    <td>device/samsung/crespo/kernel</td>
    <td>kernel/samsung</td>
    <td>herring_defconfig</td>
  </tr>
</table>

<p>After determining the device project you want to work with, view the git log
for the kernel binary. Device projects use the form
<code>device/&lt;vendor&gt;/&lt;name&gt;</code>.</p>

<pre><code>$ git clone https://android.googlesource.com/kernel/hikey-linaro
$ cd hikey-linaro
$ git log --max-count=1 kernel
</code></pre>

<p>The commit message for the kernel binary contains a partial git log of the
kernel sources used to build the binary. The first entry in the log is the most
recent (the one used to build the kernel). Make a note of the commit message
as you will need it in a later step.</p>

<h2 id="id-version">Identifying kernel version</h2>

<p>To determine the kernel version used in a system image, run the following
command against the kernel file:</p>

<pre><code>$ dd if=kernel bs=1 skip=$(LC_ALL=C grep -a -b -o $'\x1f\x8b\x08\x00\x00\x00\x00\x00' kernel | cut -d ':' -f 1) | zgrep -a 'Linux version'
</code></pre>

<p>For Nexus 5 (hammerhead), the command is:</p>
<pre><code>$ dd if=zImage-dtb bs=1 skip=$(LC_ALL=C od -Ad -x -w2 zImage-dtb | grep 8b1f | cut -d ' ' -f1 | head -1) | zgrep -a 'Linux version'
</code></pre>


<h2 id="downloading-sources">Downloading sources</h2>
<p>Download the source for the kernel you want to build using the appropriate
<code>git clone</code> command:</p>

<pre><code>$ git clone https://android.googlesource.com/kernel/common.git
$ git clone https://android.googlesource.com/kernel/hikey-linaro
$ git clone https://android.googlesource.com/kernel/x86_64.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
</code></pre>

<ul>
<li>The <code>goldfish</code> project contains the kernel sources for the
emulated platforms.</li>
<li>The <code>msm</code> project has the sources for ADP1, ADP2, Nexus One,
Nexus 4, Nexus 5, Nexus 6, Nexus 5X, Nexus 6P, Nexus 7 (2013), Pixel,
and Pixel XL, and can be used
as a starting point for work on Qualcomm MSM chipsets.</li>
<li>The <code>omap</code> project is used for PandaBoard and Galaxy Nexus,
and can be used as a starting point for work on TI OMAP chipsets.</li>
<li>The <code>samsung</code> project is used for Nexus S, and can be used as a
starting point for work on Samsung Hummingbird chipsets.</li>
<li>The <code>tegra</code> project is for Xoom, Nexus 7 (2012), Nexus 9,
and can be used as a starting point for work on NVIDIA Tegra chipsets.</li>
<li>The <code>exynos</code> project has the kernel sources for Nexus 10,
and can be used as a starting point for work on Samsung Exynos chipsets.</li>
<li>The <code>x86_64</code> project has the kernel sources for Nexus Player,
and can be used as a starting point for work on Intel x86_64 chipsets.</li>
<li>The <code>hikey-linaro</code> project is used for HiKey reference boards,
and can be used as a starting point for work on HiSilicon 620 chipsets.</li>
</ul>

<h2 id="downloading-a-prebuilt-gcc">Downloading a prebuilt gcc</h2>
<p>Ensure the prebuilt toolchain is in your path:</p>
<pre>$ export PATH=$(pwd)/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin:$PATH</pre>
<p>or</p>
<pre>$ export PATH=$(pwd)/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.6/bin:$PATH</pre>

<p>On a Linux host, if you don't have an Android source tree, you can download
the prebuilt toolchain from:
<pre>$ git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6</pre>

<h2 id="building">Building the kernel</h2>
<p>When you know the last commit message for a kernel and have successfully
downloaded the kernel source and prebuilt gcc, you are ready to build the
kernel. The following build commands use the hikey kernel:</p>
<pre><code>$ export ARCH=arm64
$ export CROSS_COMPILE=aarch64-linux-android-
$ cd hikey-linaro
$ git checkout -b android-hikey-linaro-4.1 origin/android-hikey-linaro-4.1
$ make hikey_defconfig
$ make
</code></pre>

<p>To build a different kernel, simply replace <code>hikey-linaro</code> with
the name of the kernel you want to build.</p>

<p>The image outputs to the <code>arch/arm64/boot/Image</code> directory; the
kernel binary outputs to the
<code>arch/arm64/boot/dts/hisilicon/hi6220-hikey.dtb</code> fle. Copy the
<code>Image</code> directory and the <code>hi6220-hikey.dtb</code> file to the
<code>hikey-kernel</code> directory.</p>

<p>Alternatively, you can include the <code>TARGET_PREBUILT_KERNEL</code>
variable while using <code>make bootimage</code> (or any other <code>make</code>
command line that builds a boot image). This variable is supported by all
devices as it is set up via <code>device/common/populate-new-device.sh</code>.
For example:</p>

<pre><code>$ export TARGET_PREBUILT_KERNEL=$your_kernel_path/arch/arm/boot/zImage-dtb
</code></pre>

<p class="note"><strong>Note:</strong> Kernel names differ by device. To locate
the correct filename for your kernel, refer to
<code>device/&lt;vendor&gt;/&lt;name&gt;</code> in the kernel source.</p>
