Linux BSP User Guide for RK3588 Series Debian12
Introduction
This document provides comprehensive instructions for building and deploying Linux BSP for RK3588 series platforms running Debian 12. The guide covers environment setup, source code acquisition, building processes for multiple hardware platforms, and deployment methods.
Linux BSP Version
- OS: Debian 12.x
- Kernel: 6.1.75
Build Environment on Host
Currently, we adopt Docker as build environment.
You can get the latest version of advrisc/u20.04-rklbv1 Docker image for developing Rockchip RK3588 projects.
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/u20.04-rklbv1
Run Docker Example
Step 1: Run Docker Container
$ sudo docker run -it --name rk3588_linux_risc -v /home/bsp/myLinux:/home/adv/BSP:rw --privileged advrisc/u20.04-rklbv1:latest /bin/bash
Step 2: Change User in Container
adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP
Getting Linux Source Code
Debian 12.x
Please contact PM to get BSP.
If you have BSP tarball (e.g., ASRA501A2EG90AIM38DBV110051_2025-03-04.bsp.tgz), then you have to copy it into container.
Follow the steps below:
1. Exit Container and Return to Local Machine
$ exit
2. Copy BSP Tarball to Workspace and Change Owner
$ cp ASRA501A2EG90AIM38DBV110051_2025-03-04.bsp.tgz ${WORKSPACE}
$ sudo chown adv:adv ${WORKSPACE}/ASRA501A2EG90AIM38DBV110051_2025-03-04.bsp.tgz
3. Return to Container
$ docker start ${CONTAINER_NAME}
$ docker attach ${CONTAINER_NAME}
4. Unpack BSP Tarball
$ tar zxvf ASRA501A2EG90AIM38DBV110051_2025-03-04.bsp.tgz
Build Choose Project
Build ROM-6881 Project
$ export TOP=`pwd`
$ cd $TOP
$ ./build.sh adv_rk3588_rom6881a1_defconfig
Build A0M-3821 Project
$ export TOP=`pwd`
$ cd $TOP
$ ./build.sh adv_rk3588_aom3821a1_defconfig
Build ASR-A501 B2B EG90 Project (Default)
$ export TOP=`pwd`
$ cd $TOP
$ ./build.sh adv_rk3588_asra501a2_eg90_defconfig
Build ASR-A501 B2B RM01 Project
$ export TOP=`pwd`
$ cd $TOP
$ ./build.sh adv_rk3588_asra501a2_rm01_defconfig
Build ASR-A501 B2B RM02 Project
$ export TOP=`pwd`
$ cd $TOP
$ ./build.sh adv_rk3588_asra501a2_rm02_defconfig
Build U-boot
$ cd $TOP
$ ./build.sh uboot
Build Kernel
$ cd $TOP
$ ./build.sh kernel
Build Recovery
$ cd $TOP
$ rm buildroot/output/rockchip_rk3588_recovery -rf
$ ./build.sh recovery
CAUTION: BSP tarball is for fast developing uboot and kernel. BSP tarball does NOT support building recovery.
Build Debian 12.x
$ cd $TOP
$ sudo dpkg -i debian/ubuntu-build-service/packages/*
$ sudo apt-get install -f -y
$ ./build.sh debian
CAUTION: BSP tarball is for fast developing uboot and kernel. BSP tarball does NOT support building debian.
Push All Images to Rockdev Folder
SDK V110 and After:
$ cd $TOP
$ ./build.sh firmware
Output Image Files
The common image files are listed below:
boot.img
misc.img
oem.img
recovery.img
rootfs.img
uboot.img
userdata.img
MiniLoaderAll.bin
parameter.txt
Make update.img
$ cd $TOP
$ sudo apt-get install bsdmainutils
$ ./build.sh updateimg
You can get update.img in rockdev/ directory.
CAUTION: BSP tarball is for fast developing uboot and kernel. BSP tarball does NOT support building updateimg.
How to Update Images
There are three ways to update images:
1. Using AndroidTool
There is no limitation by this method.
2. Using Storage (such as SD or USB disk) with update.zip
There are some limitations:
- The device must be able to boot up to Debian
- Only update images from the same OS (e.g., Debian upgrade to Debian)
- Using
update.imgto upgrade
3. Using Bootup SD Disk Made by SDDiskTool
- Only update images from the same OS (e.g., Debian upgrade to Debian)
- Using
update.imgto upgrade
Supported Hardware Platforms
- ROM-6881: Industrial Computer-on-Module with RK3588 processor
- A0M-3821: AIoT Module with RK3588 processor
- ASR-A501: AI Edge Server with RK3588 processor
- B2B EG90 variant
- B2B RM01 variant
- B2B RM02 variant
BSP Tarball Limitations
Important Notes about BSP Tarball:
The BSP tarball is designed for fast development of uboot and kernel components. However, it has the following limitations:
- ✅ Supported: U-boot building
- ✅ Supported: Kernel building
- ❌ NOT Supported: Recovery building
- ❌ NOT Supported: Debian building
- ❌ NOT Supported: Update image building
For full BSP functionality including recovery, debian, and update image building, please contact your PM for the complete SDK.
Build Workflow Summary
- Environment Setup → Docker + Ubuntu 20.04
- Source Acquisition → BSP tarball from PM
- Project Selection → Choose target hardware 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.
System Requirements
- Docker environment with
advrisc/u20.04-rklbv1image - Ubuntu 20.04 base system
- BSP tarball from PM
- Build tools and dependencies
- Sufficient disk space for source code and build artifacts
- Internet connection for package installation
- Target hardware (ROM-6881, A0M-3821, or ASR-A501 variants)
Development Modes
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
Full SDK Mode (Complete)
- Use Case: Complete system development and customization
- Advantages: Full build capability, all components supported
- Requirements: Contact PM for access
This document was last modified on 23 April 2025, at 03:22.