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

Make sure you are running AOSP (ptable compatible) bootloader on db845c. Latest bootloader binaries (tested #20 at the time of writing this wiki) are hosted at

For flashing instructions checkout 96boards db845c board recovery page


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

   1 git clone -b db845c
   2 cd dragonboard410c/installer/linaro_db845c/dragonboard-845c-bootloader-ufs-aosp-20/
   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

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

   1 fastboot set_active a
   2 fastboot flash userdata userdata.img
   3 fastboot flash super super.img

Building kernel and boot.img for db845c outside of AOSP

We no longer provide Pre-built db845c kernel images. Please build the kernel image and corresponding boot.img from dragonboard-android-mainline-tracking tree hosted at

1. Run the following commands to clone and build kernel Image:

   1 git clone -b dragonboard-android-mainline-tracking
   2 cd linux
   3 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- db845c_defconfig
   4 make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image.gz qcom/sdm845-db845c.dtb -j`nproc`
   5 cat arch/arm64/boot/Image.gz arch/arm64/boot/dts/qcom/sdm845-db845c.dtb > Image.gz-dtb

2. Create bootimage using AOSP ramdisk.img and Image.gz-dtb built above:

Run following mkbootimg command to create boot.img:

   1 mkbootimg --kernel Image.gz-dtb --ramdisk ramdisk.img \
   2 --base 0x80000000 --pagesize 2048 \
   3 --cmdline "firmware_class.path=/vendor/firmware \
   4 androidboot.hardware=linaro_db845c init=/init \
   5 androidboot.boot_devices=soc/1d84000.ufshc
   6 printk.devkmsg=on buildvariant=userdebug" \
   7 --output boot.img

where, ramdisk.img can be downloaded from daily builds if you are using one of the daily build images. Otherwise use the ramdisk.img created as part of AOSP build for db845c.

3. Boot test your new kernel image by running following command:

   1 fastboot boot boot.img

Compile AOSP from sources for db845c

1. Download the AOSP source tree and db845c device config from local manifest:

   1 repo init -u -b master
   2 git clone .repo/local_manifests -b db845c
   3 repo sync -j`nproc`

2. Build:

   1 . ./build/
   2 lunch linaro_db845c-userdebug
   3 make -j`nproc`

3. Install:

Boot db845c into fastboot mode by following and run following command:

   1 ./device/linaro/dragonboard/installer/linaro_db845c/

You can also perform QDL board recovery by running following script after booting db845c in USB flashing mode

   1 ./device/linaro/dragonboard/installer/linaro_db845c/

ToDo / Known Issues

  • bootctrl HAL is WIP. So if you run into FAILED (remote: 'Failed to load/authenticate boot image: Load Error'), then run following command:

   1 fastboot fastboot set_active a
  • Wifi, BT, Audio do not yet work

Need some help?

In addition to this wiki, we use various mailing lists, IRC, and to communicate.

You can use the web or your favourite IRC client.

AOSP/db845c (last modified 2019-08-23 14:15:59)