AOSP on Qualcomm Robotics Board RB5


Getting started with RB5


Learn about your RB5 as well as how to prepare and set up for basic use from 96boards RB5 getting started page https://www.96boards.org/documentation/consumer/dragonboard/qualcomm-robotics-rb5/

Make sure you are running AOSP (ptable compatible) bootloader on RB5. Latest bootloader binaries (build #21 and above) are hosted at http://snapshots.linaro.org/96boards/qrb5165-rb5/linaro/rescue/

For flashing instructions checkout 96boards RB5 recovery page https://www.96boards.org/documentation/consumer/dragonboard/qualcomm-robotics-rb5/installation/board-recovery.md.html

NOTE:

You can also update bootloader binaries by running flashall script, which is part of installer package of RB5 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/rb5/rb5-bootloader-ufs-aosp/
   3 ./flashall

Install pre-built AOSP images on RB5


Linaro create daily AOSP builds for RB5 that user can download, flash and boot from. If you are interested in prebuilt AOSP images for RB5 and want to avoid compiling your own, please download and flash boot.img, vendor_boot.img, super.img and userdata.img from http://snapshots.linaro.org/96boards/qrb5165-rb5/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 vendor_boot vendor_boot.img
   4 fastboot flash boot boot.img

Compile AOSP from sources for RB5


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

   1 repo init -u https://android.googlesource.com/platform/manifest -b master
   2 repo sync -j`nproc`
   3 ./device/linaro/dragonboard/fetch-vendor-package.sh
   4 source ./build/envsetup.sh
   5 lunch rb5-userdebug
   6 make -j`nproc`

2. Install:

Boot RB5 into fastboot mode by following https://www.96boards.org/documentation/consumer/dragonboard/qualcomm-robotics-rb5/installation/board-recovery.md.html#booting-into-fastboot and run following command:

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

You can also perform QDL board recovery by running following script after booting RB5 in USB flashing mode https://www.96boards.org/documentation/consumer/dragonboard/qualcomm-robotics-rb5/installation/board-recovery.md.html#connecting-the-board-in-usb-flashing-mode-aka-edl-mode.

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

Building the kernel for RB5


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

   1 mkdir repo-rb5
   2 cd repo-rb5
   3 repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
   4 repo sync -j`nproc` -c
   5 rm -rf out/*
   6 BUILD_CONFIG=common/build.config.db845c ./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 -j`nproc`'

ToDo / Known Issues


  • Factory version of RB5 comes with older version of lt9611uxc firmware flashed on it, so in case you do not see display up and running then please upgrade the lt9611uxc firmware version to v43 or newer.

  • WiFi-BT, PON/reset support in Kernel is WIP

  • HDMI audio support need some work too.

Need some help?


  • We are available on IRC via irc.oftc.net:6697
    • #linaro-android

AOSP/rb5 (last modified 2022-02-08 18:03:30)