RB5
RB5 is one of the supported dev-boards listed on source.android.com.
The vendor-packages required to build RB5 images with AOSP are listed here
Getting started with RB5
Learn about your RB5 as well as how to prepare and set up for basic use from the 96boards RB5 getting started page.
Make sure you are running AOSP (ptable compatible) bootloader on RB5. Latest bootloader binaries (build #29 and above) are hosted here.
For flashing instructions checkout 96boards RB5 recovery page.
Note
You can also update bootloader binaries by running flashall script, which is a part of the vendor package of RB5 AOSP build target. Boot in fastboot mode and run following command from your HOST machine:
git clone https://gerrit.devboardsforandroid.linaro.org/linaro-vendor-package
cd src/rb5/rb5-bootloader-ufs-aosp/
./flashall
Install pre-built AOSP images on RB5
Linaro creates 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 the snapshot here.
Flash downloaded AOSP images by running following commands, while booted in fastboot mode:
fastboot flash userdata userdata.img
fastboot flash super super.img
fastboot flash vendor_boot vendor_boot.img
fastboot flash boot boot.img
Compile AOSP from sources for RB5
Download the AOSP source tree and build db845c-trunk_staging-userdebug build target:
repo init -u https://android.googlesource.com/platform/manifest -b master
repo sync -j`nproc`
./device/linaro/dragonboard/fetch-vendor-package.sh
source ./build/envsetup.sh
lunch db845c-trunk_staging-userdebug #DB845c builds boot on RB5 as well.
make -j`nproc`
Install: Boot RB5 into fastboot mode and run following command:
./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:
./device/linaro/dragonboard/installer/rb5/recovery.sh
Building the kernel for RB5
The Preferred option is to build RB5 Android GKI kernel artifacts using Bazel build. Run the following commands to clone the kernel source, prebuilt Android toolchains and build scripts.
mkdir repo-rb5
cd repo-rb5
repo init -u https://android.googlesource.com/kernel/manifest -b common-android-mainline
repo sync -j`nproc`
tools/bazel clean
tools/bazel run //common:db845c_dist
Now delete all the objects in $(AOSP_TOPDIR)device/linaro/dragonboard-kernel/android-mainline/, then copy build artifacts from out/db845c/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 from https://ci.android.com/builds/branches/aosp_kernel-common-android-mainline/grid?
under artifacts, download the Image.gz and copy it to $(AOSP_TOPDIR)/device/linaro/dragonboard-kernel/android-mainline/
Then rebuild AOSP using:
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 drivers are WIP and not upstreamed yet. You can find the patches here https://git.linaro.org/people/amit.pundir/linux.git/log/?h=rbX-mainline
Device Maintainer(s)
Amit Pundir <pundir at #aosp-developers on OFTC IRC>