Linux BSP User Guide for rk3588 series Debian12
Contents
Linux BSP Version
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 command:
$ 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
Step1 Run docker container (example)
$ sudo docker run -it --name rk3588_linux_risc -v /home/bsp/myLinux:/home/adv/BSP:rw --privileged advrisc/u20.04-rklbv1:latest /bin/bash
Step2 In container, change the user. (example)
$ 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 (eg. ASRA501A2EG90AIM38DBV110051_2025-03-04.bsp.tgz), then you have to copy it into container.
Follow the steps below:
1.Exit container and back 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.Back 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 Choose Project ROM-6881
$ export TOP=`pwd` $ cd $TOP $ ./build.sh adv_rk3588_rom6881a1_defconfig $
Build Choose Project ASR-A501 B2B EG90 (default)
$ export TOP=`pwd` $ cd $TOP $ ./build.sh adv_rk3588_asra501a2_eg90_defconfig $
Build Choose Project ASR-A501 B2B RM01
$ export TOP=`pwd` $ cd $TOP $ ./build.sh adv_rk3588_asra501a2_rm01_defconfig $
Build Choose Project ASR-A501 B2B RM02
$ 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 developping uboot
and kernel
.
BSP tarball DONOT support to build 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 developping uboot
and kernel
.
BSP tarball DONOT support to build debian
.
Push all image to rockdev folder
SDK V110 and after:
$ cd $TOP $ ./build.sh firmware
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/
CAUTION
BSP tarball is for fast developping uboot
and kernel
.
BSP tarball DONOT support to build updateimg
.
How to update images?
There are three ways to update images:
1._Using_AndroidToool.
There is no limitation by this way.
2._Using_storage(such sd_or_USB_disk)with_update.zip_in_it.
There are some limitations:
(1)The device must be able to boot up to Debian.
(2)Only update images from the same os, eg :
Debian upgrade to Debian.
(3)Using update.img to upgrade.
3._Using_bootup_sd_disk made_by SDDiskTool.
(1)Only update images from the same os, eg :
Debian upgrade to Debian.
(2)Using update.img to upgrade.