Linux BSP User Guide for rk3568-ROM5880 series Debain 10

From ESS-WIKI
Revision as of 07:53, 28 August 2023 by Xingxing.li (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Linux BSP Version

Debian 10.x

Kernel 4.19.219

Build Environment on Host

Currently, we adopt Docker as build environment.

You can get the latest version of advrisc/u18.04-rklbv1 Docker image for developing Rockchip RK3568 projects.

Docker command:

sudo docker pull advrisc/u18.04-rklbv1

Run Docker example

Step1 Run docker container (example)

sudo docker run -it --name rk3568_linux_risc -v /home/bsp/myLinux:/home/adv/BSP:rw --privileged advrisc/u18.04-rklbv1:latest /bin/bash

Step2 In container, change the user. (example)

 

 adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP

Install Some tools

$sudo apt-get install expect 
$

Getting Linux Source Code

Debian 10.x

$ cd ~/BSP
$ git clone https://github.com/ADVANTECH-Rockchip/repo.git
$ mkdir rk3568_linux_risc
$ cd rk3568_linux_risc
$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com
$ ../repo/repo init -u https://AIM-Linux@dev.azure.com/AIM-Linux/RISC-RK3568-Linux/_git/manifest -b rk356x_v130_risc -m default.xml
$ ../repo/repo sync
$ ../repo/repo forall -c git checkout -b local --track advantech-azure/rk356x_v130_risc
$ 

Build Choose Project

Build Choose Project ROM-5880

$ export TOP=`pwd`
$ cd $TOP
$ ln -rfs device/rockchip/.target_product/BoardConfig-rk3568-rom5880a1.mk device/rockchip/.BoardConfig.mk
$ 

Build ROM-5880 U-boot

$ export TOP=`pwd`
$ cd $TOP
$ cd u-boot
$ ./make.sh rk3568_rom5880a1

Build ROM-5880 Kernel

$ cd $TOP
$ cd kernel
$ make ARCH=arm64 rk3568_adv_defconfig -j8
$ make ARCH=arm64 rk3568-rom5880-a1.img -j12

Build Recovery

$ cd $TOP
$ rm buildroot/output/rockchip_rk356x_recovery -rf
$ source envsetup.sh rockchip_rk356x_recovery
$ ./build.sh recovery

Build Debian 10.x

$ cd $TOP
$ source envsetup.sh rockchip_rk3568
$ sudo BUILD_IN_DOCKER=TRUE ./mk-debian.sh

Push all image to rockdev folder

$ ./mkfirmware.sh

All image in rockdev/ ./mkfirmware.sh at previous step will repack boot.img and rootfs.img, and copy other related image files to the rockdev/ directory. 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
$ source envsetup.sh rockchip_rk3568
$ ./build.sh updateimg

You can get update.img in rockdev/