Linux BSP User Guide for rk3576 series Debian12

From ESS-WIKI
Revision as of 10:16, 22 September 2025 by Yunjin.jiang (talk | contribs) (3._Using_bootup_sd_disk made_by SDDiskTool.)
Jump to: navigation, search

Linux BSP Version

Debian 12.x

Kernel 6.1.xx

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 rk3576_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. AOM3841A1AIM38DBV110020_2025-07-10.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 AOM3841A1AIM38DBV110020_2025-07-10.bsp.tgz ${WORKSPACE}
$ sudo chown adv:adv ${WORKSPACE}/AOM3841A1AIM38DBV110020_2025-07-10.bsp.tgz  

3.Back to container

$ docker start ${CONTAINER_NAME}
$ docker attach ${CONTAINER_NAME}

4.Unpack BSP tarball

$ tar zxvf AOM3841A1AIM38DBV110020_2025-07-10.bsp.tgz


Build Choose Project

Build Choose Project A0M-3841

$ export TOP=`pwd`
$ cd $TOP
$ ./build.sh adv_rk3576_aom3841a1_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.

CAUTION

If DUT is boot from UFS and UFS doesnot have DUT information,

DONOT support this method.