<html devsite>
  <head>
    <title>Using Reference Boards</title>
    <meta name="project_path" value="/_project.yaml" />
    <meta name="book_path" value="/_book.yaml" />
  </head>
  <body>
  <!--
      Copyright 2017 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.
  -->


<p>You can create builds for Nexus devices using Android Open Source Project
(AOSP) builds and the relevant hardware-specific binaries. For available
Android builds and targeted devices, see
<a href="/source/build-numbers.html#source-code-tags-and-builds">Source Code,
Tags, and Builds</a>.</p>

<p class="note"><strong>Note:</strong> Due to hardware differences, do not use
Android 4.1.1 on a Nexus 7 originally sold with Android 4.1.2 or later.</p>

<p>You can also create builds for
<a href="https://android.googlesource.com/device/linaro/hikey/">HiKey</a>
Android reference boards, which are designed to help non-Nexus component vendors
develop and port drivers to Android releases. Using a reference board can ease
upgrade efforts, reduce time-to-market for new Android devices, lower device
costs by enabling ODM/OEMs to choose from a wider range of compatible
components, and increase the speed of innovation among component suppliers.</p>

<p>Google supports <a href="#960hikey">HiKey960</a> and
<a href="#620hikey">HiKey</a> certified
<a href="https://www.96boards.org/products/ce/hikey/">96Boards</a> as Android
reference boards. AOSP provides kernel source and board support for HiKey so
developers can easily create and debug new and existing peripheral drivers, do
kernel development, and perform other tasks with fewer OEM encumbrances.</p>


<h2 id="960hikey">HiKey960 boards</h2>

<p>The HiKey960 board is available in a 3GB RAM configuration from LeMaker (via
<a href="https://www.amazon.com/dp/B071RD3V34">Amazon.com</a>) and from
<a href=" http://www.lenovator.com/product/132.html">Lenovator<a/>.</a></p>

<img src="images/hikey960.png" alt="HiKey960 board image" />
<p class="img-caption"><strong>Figure 2.</strong> HiKey960 board by Lenovator</p>

<p>Additional resources:</p>
<ul>
<li>
<a href="https://github.com/96boards/documentation/blob/master/ConsumerEdition/HiKey960/HardwareDocs/HiKey960_Schematics.pdf">HiKey960
schematics</a></li>
<li>
<a href="http://www.96boards.org/documentation/ConsumerEdition/HiKey960/HardwareDocs/HardwareUserManual.md/">HiKey960
user guide</a></li>
<li>
<a href="https://github.com/96boards/documentation/wiki/">96boards wiki</a></li>
</ul>

<p>Use the following commands to download, build, and run Android on the
HiKey960 board.</p>

<h3 id="960userspace">Compiling userspace</h3>
<ol>
<li>Download the Android source tree:
<pre>$ repo init -u <a href="https://android.googlesource.com/platform/manifest">https://android.googlesource.com/platform/manifest</a> -b master
$ repo sync -j24</pre></li>
<li>Download and extract binaries into the Android source tree:
<pre>$ wget https://dl.google.com/dl/android/aosp/arm-hikey960-NOU-7ad3cccc.tgz
$ tar xzf arm-hikey960-NOU-7ad3cccc.tgz
$ ./extract-arm-hikey960.sh</pre></li>
<li>Build:
<pre>$ . ./build/envsetup.sh
$ lunch hikey960-userdebug
$ make -j32</pre></li>
</ol>

<h3 id="960fastboot">Installing initial images</h3>
<ol>
<li>Select fastboot mode turning ON switch 1 and 3 (for details, refer to the
HiKey960 user guide).</li>
<li>Power the board.</li>
<li>Flash initial images:
<pre>$ cd device/linaro/hikey/installer/hikey960
$ ./flash-all.sh</pre></li>
<li>Turn OFF switch 3 and power cycle the board.</li>
</ol>

<h3 id="960images">Flashing images</h3>
<ol>
<li>Enter fastboot mode by turning ON switch 1 and 3.</li>
<li>Flash images by running the following commands:
<pre>$ fastboot flash boot out/target/product/hikey960/boot.img
$ fastboot flash dts out/target/product/hikey960/dt.img
$ fastboot flash system out/target/product/hikey960/system.img
$ fastboot flash cache out/target/product/hikey960/cache.img
$ fastboot flash userdata out/target/product/hikey960/userdata.img</pre>
</li>
<li>Turn OFF switch 3 and power cycle the board.</li>
</ol>

<h3 id="960kernel">Building the kernel</h3>
<ol>
<li>Run the following commands:
<pre>$ git clone <a href="https://android.googlesource.com/kernel/hikey-linaro">https://android.googlesource.com/kernel/hikey-linaro</a>
$ cd hikey-linaro
$ git checkout -b android-hikey-linaro-4.4 origin/android-hikey-linaro-4.4
$ make ARCH=arm64 hikey960_defconfig
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- -j24</pre></li>
<li>Update the kernel in the boot image.
<ul>
<li>Copy hi3660-hikey960.dtb
(<code>arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtb</code>) to the
hikey-kernel directory as file hi3660-hikey960.dtb.</li>
<li>Copy the Image file <code>(arch/arm64/boot/Image.gz</code>) to the
hikey-kernel directory as file Image.gz-hikey960.</li></ul>
<li>Make the boot image:
<pre>$ make bootimage -j24</pre></li>
</ol>

<h3 id="960serial">Setting serial number</h3>
<p>To set random serial number, run:
<pre>$ fastboot getvar nve:SN@<em>16-digit-number</em></pre>
<p>Bootloader exports the generated serial number to kernel via
<code>androidboot.serialno=</code>.

<h3 id="960resolution">Setting monitor resolution</h3>
<p>Edit the <code>device/linaro/hikey/hikey960/BoardConfig.mk</code> parameter
<code>BOARD_KERNEL_CMDLINE</code> and configure the <code>video</code> setting.
Example setting for a 24" monitor is <code>video=HDMI-A-1:1280x800@60</code>.
</p>

<h2 id="620hikey">HiKey boards</h2>

<p>The HiKey board (also known as HiKey620) is available in
<a href="http://www.lenovator.com/product/86.html">1GB RAM</a> and
<a href="http://www.lenovator.com/product/90.html">2GB RAM</a> configurations
from <a href="http://www.lenovator.com">Lenovator</a>:</p>

<img src="images/hikey620.png" alt="HiKey620 board image" />
<p class="img-caption"><strong>Figure 1.</strong> HiKey board by Lenovator</p>

<p>Additional resources:</p>
<ul>
<li>
<a href="https://github.com/96boards/documentation/blob/master/ConsumerEdition/HiKey960/HardwareDocs/HiKey960_Schematics.pdf">HiKey
schematics</a></li>
<li>
<a href="http://www.96boards.org/documentation/ConsumerEdition/HiKey960/HardwareDocs/HardwareUserManual.md/">HiKey
user guide</a></li>
<li><a href="https://github.com/96boards/documentation/wiki/">96boards wiki</a></li>
</ul>

<p>Use the following commands to download, build, and run Android on the HiKey
board.</p>

<h3 id="620userspace">Compiling userspace</h3>
<ol>
<li>Download the Android source tree:
<pre>$ repo init -u <a href="https://android.googlesource.com/platform/manifest">https://android.googlesource.com/platform/manifest</a> -b master
$ repo sync -j24</pre></li>
<li>Download and extract HDMI binaries into the Android source tree:
<pre>$ wget <a href="https://dl.google.com/dl/android/aosp/linaro-hikey-20170523-4b9ebaff.tgz">https://dl.google.com/dl/android/aosp/linaro-hikey-20170523-4b9ebaff.tgz</a>
$ tar xzf linaro-hikey-20170523-4b9ebaff.tgz
$ ./extract-linaro-hikey.sh</pre></li>
<li>Install mcopy utility:
<pre>$ apt-get install mtools</pre></li>
<li>Build:
<pre>$ . ./build/envsetup.sh
$ lunch hikey-userdebug
$ make -j32</pre></li>
</ol>

<p class="note"><strong>Note:</strong> For 4GB eMMC, instead of <code>$ make -j32</code>
use: <code>$ make -j32 TARGET_USERDATAIMAGE_4GB=true</code>.</p>

<h3 id="620fastboot">Installing initial fastboot and ptable</h3>
<ol>
<li>Select special bootloader mode by linking J15 1-2 and 3-4 pins (for details,
refer to the
<a href="https://www.96boards.org/wp-content/uploads/2015/02/HiKey_User_Guide_Rev0.2.pdf">HiKey
user guide</a>).</li>
<li>Connect USB to PC to get ttyUSB device (ex: <code>/dev/ttyUSB1</code>).</li>
<li>Power the board:
<pre>$ cd device/linaro/hikey/installer/hikey
$ ./flash-all.sh /dev/ttyUSB1 [4g]</pre></li>
<li>Remove jumper 3-4 and power the board.</li>
</ol>

<h3 id="620images">Flashing images</h3>
<ol>
<li>Enter fastboot mode by linking J15 1-2 and 5-6 pins.</li>
<li>Run the following commands:
<pre>$ fastboot flash boot out/target/product/hikey/boot.img
$ fastboot flash -w system out/target/product/hikey/system.img</pre></li>
<li>Remove jumper 5-6 and power the board.</li>
</ol>

<h3 id="620kernel">Building the kernel</h3>
<ol>
<li>Run the following commands:
<pre>$ git clone <a href="https://android.googlesource.com/kernel/hikey-linaro">https://android.googlesource.com/kernel/hikey-linaro</a>
$ cd hikey-linaro
$ git checkout -b android-hikey-linaro-4.9 origin/android-hikey-linaro-4.9
$ make ARCH=arm64 hikey_defconfig
$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-android- -j24</pre></li>
<li>Copy output to the hikey kernel directory
(<code>/kernel/hikey-linaro</code>):
<ul>
<li>Copy hi6220-hikey.dtb
(<code>arch/arm64/boot/dts/hisilicon/hi6220-hikey.dtb</code>) to the
hikey-kernel directory as file hi6220-hikey.dtb-4.9.</li>
<li>Copy the Image file <code>(arch/arm64/boot/Image-dtb</code>) to the
hikey-kernel directory as file Image-dtb-4.9.</li></ul>
<li>Make the boot image:
<pre>$ make bootimage -j24</pre></li>
</ol>

<h3 id="620resolution">Setting monitor resolution</h3>
<p>Edit <code>device/linaro/hikey/hikey/BoardConfig.mk</code> parameter
<code>BOARD_KERNEL_CMDLINE</code> and configure the <code>video</code> setting.
Example setting for a 24" monitor: <code>video=HDMI-A-1:1280x800@60</code>.</p>

<h3 id="620serial">Configuring kernel serial output (uart3)</h3>
<p>Set the J2 low speed expansion connector to 1 - Gnd, 11 - Rx, 13 - Tx. For
details, refer to the
<a href="https://www.96boards.org/wp-content/uploads/2015/02/HiKey_User_Guide_Rev0.2.pdf">HiKey
user guide</a>.</p>

  </body>
</html>
