Using Reference Boards

You can create builds for Nexus and Pixel devices using Android Open Source Project (AOSP) builds and the relevant hardware-specific binaries. For available Android builds and targeted devices, see Source code tags and builds.

You can also create builds for DragonBoard 845c and HiKey 960 Android reference boards, which are designed to help nonmobile 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.

Google supports DragonBoard 845c and HiKey 960 Android reference boards. AOSP provides kernel source and board support for these boards, so developers can easily create and debug peripheral drivers, do kernel development, and perform other tasks with fewer OEM encumbrances.

DragonBoard 845c

The DragonBoard 845c is part of the RB3 platform and is available from 96boards.org.

Dragonboard image

Figure 1. DragonBoard 845c

Compiling userspace

Use the following commands to download and build Android on the DragonBoard 845c.

  1. Download the Android source tree:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    
    repo sync -j8
    
  2. Build:

    . ./build/envsetup.sh
    
    lunch db845c-userdebug
    
    make -j24
    

Installing initial images

  1. Boot db845c into fastboot mode (see DragonBoard Recovery).

  2. Run following command:

    ./device/linaro/dragonboard/installer/db845c/flash-all-aosp.sh
    

Alternately, you can perform QDL board recovery by running the following script after booting db845c in USB flashing mode:

./device/linaro/dragonboard/installer/db845c/recovery.sh

Flashing images

You can use flash.android.com to easily test the latest AOSP build artifacts from ci.android.com. You don't need to build, but you need to have a DragonBoard 845c already flashed with the latest bootloader in AOSP before you begin.

  1. In a web browser, go to flash.android.com.

  2. Click Get Started then skip step 1 (as your device is already in developer mode).

  3. In available, locate DragonBoard 845c (db845c). If you don't see it, click + Add new device then select either Android gadget or Android device from the list.

  4. Select DragonBoard 845c (db845c).

  5. Click Select a build ID and choose the most recent build.

  6. Click Install.

  7. Follow the remaining instructions and wait while the board is flashed.

Congratulations, your DragonBoard 845c is now running the very latest AOSP build!

Building the kernel

To build the DragonBoard db845c Android GKI kernel artifacts:

  1. Run following commands to clone the kernel source and prebuilt Android toolchains and build scripts.

    mkdir repo-common
    cd repo-common
    repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
    repo sync -j8 -c
    rm -rf out/*
    rm build.config
    ln -s common/build.config.db845c build.config
    ./build/build.sh
    
  2. Delete all objects in $(AOSP_TOPDIR)device/linaro/dragonboard-kernel/android-mainline/ then copy build artifacts from out/android-mainline/dist/ to $(AOSP_TOPDIR)/device/linaro/dragonboard-kernel/android-mainline/.

  3. Test the GKI kernel:

    1. View the latest kernel_aarch64 build.

    2. In artifacts, download Image.gz and copy it to $(AOSP_TOPDIR)/device/linaro/dragonboard-kernel/android-mainline/.

    3. Build and flash the device with the new kernel (see Compiling userspace).

HiKey 960 boards

The HiKey 960 board is available from Amazon and Lenovator.

HiKey 960 board image

Figure 2. HiKey 960 board by Lenovator

Compiling userspace

Use the following commands to download and build Android on the HiKey 960 board.

  1. Download the Android source tree:

    repo init -u https://android.googlesource.com/platform/manifest -b master
    
  2. Build:

    . ./build/envsetup.sh
    

Installing initial images

  1. Select fastboot mode by turning ON switch 3 (for details, refer to the HiKey 960 Getting Started guide).

  2. Power the board.

  3. Flash initial images:

    cd device/linaro/hikey/installer/hikey960
    
  4. Turn OFF switch 3 and power cycle the board.

Flashing images

  1. Enter fastboot mode by turning ON switch 3.

  2. Flash images by running the following commands:

    fastboot flash boot out/target/product/hikey960/boot.img
    
  3. Turn OFF switch 3 and power cycle the board.

Building the kernel

  1. Run the following commands:

    repo init -u https://android.googlesource.com/kernel/manifest -b hikey-linaro-android-4.19
    
  2. Update the kernel in the boot image.

    • Copy hi3660-hikey960.dtb (out/android-hikey-linaro-4.19/dist/hi3660-hikey960.dtb) to the hikey-kernel directory as file hi3660-hikey960.dtb-4.19.

    • Copy the Image file (out/android-hikey-linaro-4.19/dist/Image.gz-dtb) to the hikey-kernel directory as file Image.gz-dtb-hikey960-4.19.

  3. Make the boot image:

    make bootimage -j24
    

Setting the serial number

To set the random serial number, run:

fastboot getvar nve:SN@16\_DIGIT\_NUMBER

Bootloader exports the generated serial number to the kernel using androidboot.serialno=.

Setting monitor resolution

Edit the device/linaro/hikey/hikey960/BoardConfig.mk parameter BOARD_KERNEL_CMDLINE and configure the video setting. For example, the setting for a 24-inch monitor is video=HDMI-A-1:1280x800@60.