Running Android on hikey board: * Compiling userspace: Pull AOSP source: $ repo init -u https://android.googlesource.com/platform/manifest -b master & repo sync -j24 Install mcopy utility: $ apt-get install mtools Build: $ . ./build/envsetup.sh $ lunch hikey-userdebug $ make -j32 Note: For 4 GB eMMC part use: $ make -j32 TARGET_USERDATAIMAGE_4GB=true * Installing initial fastboot and ptable: Select special bootloader mode by linking J15 1-2 and 3-4 pins Connect USB to PC to get ttyUSB device (ex: ttyUSB1) Power the board $ cd device/linaro/hikey/installer/hikey $ ./flash-all.sh /dev/ttyUSB1 [4g] Remove link 3-4 and power the board * Flashing images: Enter fastboot mode by linking J15 1-2 and 5-6 pins $ fastboot flash boot out/target/product/hikey/boot.img $ fastboot flash system out/target/product/hikey/system.img $ fastboot flash vendor out/target/product/hikey/vendor.img $ fastboot flash cache out/target/product/hikey/cache.img $ fastboot flash userdata out/target/product/hikey/userdata.img Remove jumper 5-6 and power the board * Building kernel $ git clone https://android.googlesource.com/kernel/hikey-linaro $ 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 Output: arch/arm64/boot/Image & arch/arm64/boot/dts/hisilicon/hi6220-hikey.dtb copy Image-dtb and hi6220-hikey.dtb to hikey-kernel directory to files Image-dtb-4.9 and hi6220-hikey.dtb-4.9 * Setting monitor resolution Add to BOARD_KERNEL_CMDLINE in BoardConfig.mk: video= (for example for 24” monitor): video=HDMI-A-1:1280x800@60 * Kernel serial output (uart3): J2 (LS Expansion): 1 - Gnd, 11 - Rx, 13 - Tx External links: Board: https://www.96boards.org/products/ce/hikey/ Howto: https://github.com/96boards/documentation/wiki/LatestSnapshots Schematics: https://github.com/96boards/documentation/blob/master/consumer/hikey/hardware-docs/HiKey_schematics_LeMaker_version_Rev_A1.pdf