Android BSP User Guide for RK3288 Series Android8
1. Introduction
This document provides comprehensive instructions for building and deploying Android BSP for RK3288 series platforms running 8.1.0. The guide covers environment setup, source code acquisition, building processes for multiple processors platforms, and deployment methods.
2. Android BSP Version
- OS: Android 8.1.0
- Kernel: 4.4
3. Build Environment on Host
Currently, we adopt Docker as build environment.
You can get the latest version of advrisc/u16.04-imx6abv5 Docker image for developing Rockchip RK3288 projects.
3.1 Docker Installation Commands
$ sudo apt-get update
$ sudo apt-get install -y qemu-user-static
$ sudo apt-get install -y live-build
$ sudo docker pull advrisc/u16.04-imx6abv5:20170523
3.2 Run Docker Example
- Step 1: Run Docker Container
Assume your working directory ishome/bsp/myLinuxand the Docker container name isrk3288_android_n7.
Replacehome/bsp/myLinuxandrk3288_android_n7with the actual ones based on your environment.
$ export WORKSPACE="home/bsp/myLinux"
$ export CONTAINER_NAME="rk3288_android_n7"
$ sudo docker run -it --name ${CONTAINER_NAME} -v ${WORKSPACE}:/home/adv/BSP:rw --privileged advrisc/u16.04-imx6abv5:20170523 /bin/bash
- Step 2: Change User in Container
adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP
-
Step 3: Install build dependencies in Container
- Install live build
adv@7cc0fa834366:~$ cd ~
adv@7cc0fa834366:~$ git clone https://salsa.debian.org/live-team/live-build.git --depth 1 -b debian/1%20230131
adv@7cc0fa834366:~$ cd live-build
adv@7cc0fa834366:~$ rm -rf manpages/po/
adv@7cc0fa834366:~$ sudo make install -j8
adv@7cc0fa834366:~$ cd ~
adv@7cc0fa834366:~$ rm -rf live-build- Install qemu and binfmts
adv@7cc0fa834366:~$ sudo apt-get update
adv@7cc0fa834366:~$ sudo apt-get install binfmt-support qemu-user-static --reinstall
adv@7cc0fa834366:~$ sudo update-binfmts --enable qemu-aarch64- Install gettext
adv@7cc0fa834366:~$ sudo apt-get update
adv@7cc0fa834366:~$ sudo apt-get install gettext -y
4. Getting Android Source Code
4.1 Related version information:
- Android 8.1.0
- kernel 4.4
- U-Boot 2014-10
Step1: To pull down the Android source tree to your working directory from the repositories as specified in the default manifest
$ mkdir myandroid
$ mkdir bin
$ cd myandroid/
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ../bin/repo
$ chmod a+x ../bin/repo
$ ../bin/repo init -u https://github.com/ADVANTECH-Rockchip/android-rk-manifest.git -b android-8.1.0-r46 -m [ release_version.xml ]
$ ../bin/repo sync
5. Building
5.1 Build Instructions
Set the $JAVA_HOME environment variable
$ export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Set up the environment for building.
$ source build/envsetup.sh
Execute the Android lunch command.
Build Product for RSB-4680
$ lunch rsb4680-userdebug
To build boot loader
$ cd u-boot/
$ make rk3288_rsb4680a3_2G_defconfig
$ ./mkv7.sh
To build kernel image
$ cd kernel/
$ make ARCH=arm rk3288_adv_defconfig
$ make ARCH=arm rk3288-rsb4680-a3.img -j8
To build system image
$ make -j8
$ ./mkimage.sh
All android image will be generated in rockdev/Image-rsb4680/ folder.
Build Product for USM-110
$ lunch usm110-userdebug
To build boot loader
$ cd u-boot/
$ make rk3288_usm110a2_2G_defconfig
$ ./mkv7.sh
To build kernel image
$ cd kernel/
$ make ARCH=arm rk3288_adv_defconfig
$ make ARCH=arm rk3288-usm110-a2.img -j8
To build system image
$ make -j8
$ ./mkimage.sh
All android image will be generated in rockdev/Image-usm110/ folder.
6. Update Images
reference: https://github.com/ADVANTECH-Rockchip/rk3288_tools
SDDiskTool_v1.56.zip: flash OS from sd card
AndroidTool_Release_v2.54.tar.xz: flash OS from OTG
FWFactoryTool_V5.51.zip: modify update.img
7. Summary
7.1 Supported Hardware Platforms
- RSB-4680: RSB-4680 Single Board Computer
- USM-110: USM-110 System-on-Module
7.2 System Requirements
- Docker environment with
advrisc/u16.04-imx6abv5image - Ubuntu 16.04 base system
- BSP tarball from our released BSP
- Build tools and dependencies
- Sufficient disk space for source code and build artifacts
- Internet connection for package installation
- Target processors (RSB-4680, USM-110)
7.3 Build Workflow Summary
- Environment Setup → Docker + Ubuntu 16.04
- Source Acquisition → BSP tarball or Full SDK
- Project Selection → Choose target processors platform
- Component Build → U-boot → Kernel → (Recovery)* → (Debian)*
- Image Generation → Firmware packaging → (Update image)*
- Deployment → AndroidTool, SD/USB storage, or SDDiskTool
Components marked with asterisk () are not supported in BSP tarball mode.
7.4 Development Modes
7.4.1 BSP Tarball Mode (Limited)
- Use Case: Quick U-boot and kernel development
- Advantages: Fast setup, smaller download size
- Limitations: Cannot build recovery, debian, or update images
The BSP tarball is designed for fast development of uboot and kernel components. However, it has some limitations.
- ✅ Supported: U-boot building
- ✅ Supported: Kernel building
- ❌ NOT Supported: Recovery building
- ❌ NOT Supported: Debian building
- ❌ NOT Supported: Update image building
7.4.2 Full SDK Mode (Complete)
- Use Case: Complete system development and customization
- Advantages: Full build capability, all components supported
- Requirements: Contact PM for access