Difference between revisions of "Linux BSP User Guide for rk3568 series Debian11"
(→Getting Linux Source Code) |
(→Getting Linux Source Code) |
||
Line 39: | Line 39: | ||
$ ../repo/repo sync | $ ../repo/repo sync | ||
$ ../repo/repo forall -c git checkout -b local --track advantech-azure/rk356x_linux5.10_v130_risc | $ ../repo/repo forall -c git checkout -b local --track advantech-azure/rk356x_linux5.10_v130_risc | ||
+ | |||
$ </pre> | $ </pre> | ||
Revision as of 12:11, 18 March 2024
Contents
Linux BSP Version
Debian 11.x
Kernel 5.10.160
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 RK3568 projects.
Docker command:
sudo docker pull advrisc/u20.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/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
$ cd ~/BSP $ git clone https://github.com/ADVANTECH-Rockchip/repo.git $ mkdir rk356x_linux5.10_v130_risc $ cd rk356x_linux5.10_v130_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_linux5.10_v130_risc -m default.xml $ ../repo/repo sync $ ../repo/repo forall -c git checkout -b local --track advantech-azure/rk356x_linux5.10_v130_risc $
Build Choose Project
Build Choose Project RSB-4810
$ export TOP=`pwd` $ cd $TOP $ ln -rfs device/rockchip/.target_product/BoardConfig-rk3568-rsb4810a2.mk device/rockchip/.BoardConfig.mk $
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 Choose Project KEDGE-350
$ export TOP=`pwd` $ cd $TOP $ ln -rfs device/rockchip/.target_product/BoardConfig-rk3568-kedge350a1.mk device/rockchip/.BoardConfig.mk $
Build Choose Project EBC-RB07
$ export TOP=`pwd` $ cd $TOP $ ln -rfs device/rockchip/.target_product/BoardConfig-rk3568-ebcrb07a1.mk device/rockchip/.BoardConfig.mk $
Build U-boot
Build RSB-4810 U-boot
$ export TOP=`pwd` $ cd $TOP $ cd u-boot $ ./make.sh rk3568_rsb4810a2
Build ROM-5880 U-boot
$ export TOP=`pwd` $ cd $TOP $ cd u-boot $ ./make.sh rk3568_rom5880a1
Build KEDGE-350 U-boot
$ export TOP=`pwd` $ cd $TOP $ cd u-boot $ ./make.sh rk3568_kedge350a1
Build EBC-RB07 U-boot
$ export TOP=`pwd` $ cd $TOP $ cd u-boot $ ./make.sh rk3568_ebcrb07a1
Build Kernel
Build RSB-4810 Kernel
$ cd $TOP $ cd kernel $ make ARCH=arm64 rk3568_adv_defconfig -j8 $ make ARCH=arm64 rk3568-rsb4810-a2.img -j12
Build ROM-5880 Kernel
$ cd $TOP $ cd kernel $ make ARCH=arm64 rk3568_adv_defconfig -j8 $ make ARCH=arm64 rk3568-rom5880-a1.img -j12
Build KEDGE-350 Kernel
$ cd $TOP $ cd kernel $ make ARCH=arm64 rk3568_adv_defconfig -j8 $ make ARCH=arm64 rk3568-kedge350-a1.img -j12
Build EBC-RB07 Kernel
$ cd $TOP $ cd kernel $ make ARCH=arm64 rk3568_adv_defconfig -j8 $ make ARCH=arm64 rk3568-ebcrb07-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/
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.