AOSP on DragonBoard 845c


Getting started with db845c


Learn about your DragonBoard 845c board as well as how to prepare and set up for basic use from 96boards db845c getting started page https://www.96boards.org/documentation/consumer/dragonboard/dragonboard845c/getting-started/rb3-kit/.

Make sure you are running AOSP (ptable compatible) bootloader on db845c. Latest bootloader binaries (build #26 and above) are hosted at http://snapshots.linaro.org/96boards/dragonboard845c/linaro/rescue/.

For flashing instructions checkout 96boards db845c board recovery page https://www.96boards.org/documentation/consumer/dragonboard/dragonboard845c/installation/board-recovery.md.html.

NOTE:

You can also update bootloader binaries by running flashall script, which is part of installer package of db845c AOSP build target. Boot in fastboot mode and run following command from your HOST machine:

   1 git clone https://android.googlesource.com/device/linaro/dragonboard
   2 cd dragonboard/installer/db845c/dragonboard-845c-bootloader-ufs-aosp/
   3 ./flashall

Install pre-built AOSP images on db845c


Linaro create daily userspace only AOSP build for db845c that user can download, flash and boot from. If you are interested in prebuilt AOSP images for db845c and want to avoid compiling your own, feel free to download ramdisk.img, super.img and userdata.img from http://snapshots.linaro.org/96boards/dragonboard845c/linaro/aosp-master/.

Flash downloaded AOSP images by running following commands, while booted in fastboot mode:

   1 fastboot flash userdata userdata.img
   2 fastboot flash super super.img
   3 fastboot flash boot boot.img

Compile AOSP from sources for db845c


1. Download the AOSP source tree and build db845c-userdebug build target:

   1 repo init -u https://android.googlesource.com/platform/manifest -b master
   2 repo sync -j8
   3 source ./build/envsetup.sh
   4 lunch db845c-userdebug
   5 make -j16

2. Install:

Boot db845c into fastboot mode by following https://www.96boards.org/documentation/consumer/dragonboard/dragonboard845c/installation/board-recovery.md.html and run following command:

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

You can also perform QDL board recovery by running following script after booting db845c in USB flashing mode https://www.96boards.org/documentation/consumer/dragonboard/dragonboard845c/installation/board-recovery.md.html.

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

Building the kernel for db845c


The Preferred option is to build Dragonboard db845c Android GKI kernel artifacts using repo build. Run following commands to clone the kernel source, prebuilt Android toolchains and build scripts.

   1 mkdir repo-db845c
   2 cd repo-db845c
   3 repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
   4 repo sync -j8 -c
   5 rm -rf out/*
   6 rm build.config
   7 ln -s common/build.config.db845c build.config
   8 ./build/build.sh

Now delete all the 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/

If you want to properly test the GKI kernel, you should grab the latest kernel_aarch64 build here:

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

Then rebuild AOSP using:

   1 make TARGET_KERNEL_USE=mainline -j16'

ToDo / Known Issues


  • Wifi, and Audio are works in progress and do not yet fully work.

Need some help?


In addition to this wiki, we use various mailing lists, IRC, collaborate.linaro.org and projects.linaro.org/LCG to communicate.

You can use the web or your favourite IRC client.

AOSP/db845c (last modified 2020-03-10 18:26:50)