Difference between revisions of "Linux BSP User Guide for rk3568 series Debian11"
Yunjin.jiang (talk | contribs) (Created page with "<h2>Linux BSP Version</h2> <p>Debian 10.x</p> <p>Kernel 4.19.219</p> == Build Environment on Host == Currently, we adopt [https://www.docker.com/ Docker] as build environm...") |
|||
(26 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<h2>Linux BSP Version</h2> | <h2>Linux BSP Version</h2> | ||
− | <p>Debian | + | <p>Debian 11.x</p> |
− | <p>Kernel | + | <p>Kernel 5.10.160</p> |
== Build Environment on Host == | == Build Environment on Host == | ||
Line 9: | Line 9: | ||
Currently, we adopt [https://www.docker.com/ Docker] as build environment. | Currently, we adopt [https://www.docker.com/ Docker] as build environment. | ||
− | You can get the latest version of advrisc/ | + | You can get the latest version of advrisc/u20.04-rklbv1 Docker image for developing Rockchip RK3568 projects. |
Docker command: | Docker command: | ||
− | <pre>sudo docker pull advrisc/ | + | <pre> |
+ | sudo apt-get install -y qemu-user-static | ||
+ | sudo apt-get install -y live-build | ||
+ | sudo docker pull advrisc/u20.04-rklbv1 | ||
+ | </pre> | ||
== Run Docker example == | == Run Docker example == | ||
Step1 Run docker container (example) | Step1 Run docker container (example) | ||
− | <pre>sudo docker run -it --name | + | <pre>sudo docker run -it --name rk356x_linux5.10_v130_risc -v /home/bsp/myLinux:/home/adv/BSP:rw --privileged advrisc/u20.04-rklbv1:latest /bin/bash |
</pre> | </pre> | ||
Line 26: | Line 30: | ||
</pre> | </pre> | ||
− | == | + | == Getting Linux Source Code == |
− | + | <pre>$ cd ~/BSP | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | <pre> | ||
− | $ cd ~/BSP | ||
$ git clone https://github.com/ADVANTECH-Rockchip/repo.git | $ git clone https://github.com/ADVANTECH-Rockchip/repo.git | ||
− | $ mkdir | + | $ mkdir rk356x_linux5.10_v130_risc |
− | $ cd | + | $ cd rk356x_linux5.10_v130_risc |
$ git config --global user.name "Your Name" | $ git config --global user.name "Your Name" | ||
$ git config --global user.email you@example.com | $ 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 | + | $ ../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 sync | ||
− | $ ../repo/repo forall -c git checkout -b local --track advantech-azure/ | + | $ ../repo/repo forall -c git checkout -b local --track advantech-azure/rk356x_linux5.10_v130_risc |
$ </pre> | $ </pre> | ||
Line 51: | Line 47: | ||
<pre>$ export TOP=`pwd` | <pre>$ export TOP=`pwd` | ||
$ cd $TOP | $ cd $TOP | ||
− | $ | + | $ ./build.sh adv_rk3568_rsb4810a2_defconfig |
− | $ | + | $ |
</pre> | </pre> | ||
Line 58: | Line 54: | ||
<pre>$ export TOP=`pwd` | <pre>$ export TOP=`pwd` | ||
$ cd $TOP | $ cd $TOP | ||
− | $ | + | $ coming soon |
$ | $ | ||
</pre> | </pre> | ||
Line 65: | Line 61: | ||
<pre>$ export TOP=`pwd` | <pre>$ export TOP=`pwd` | ||
$ cd $TOP | $ cd $TOP | ||
− | $ | + | $ ./build.sh adv_rk3568_kedge350a1_defconfig |
$ | $ | ||
</pre> | </pre> | ||
Line 72: | Line 68: | ||
<pre>$ export TOP=`pwd` | <pre>$ export TOP=`pwd` | ||
$ cd $TOP | $ cd $TOP | ||
− | $ | + | $ coming soon |
$ | $ | ||
</pre> | </pre> | ||
== Build U-boot == | == Build U-boot == | ||
− | + | <pre>$ cd $TOP | |
− | + | $ ./build.sh uboot | |
− | <pre> | ||
− | $ cd $TOP | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | $ ./ | ||
</pre> | </pre> | ||
== Build Kernel == | == Build Kernel == | ||
− | |||
− | |||
<pre>$ cd $TOP | <pre>$ cd $TOP | ||
− | $ | + | $ ./build.sh kernel |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
== Build Recovery == | == Build Recovery == | ||
<pre>$ cd $TOP | <pre>$ cd $TOP | ||
− | $ rm buildroot/output/ | + | $ rm buildroot/output/rockchip_rk3568_recovery -rf |
− | |||
$ ./build.sh recovery | $ ./build.sh recovery | ||
</pre> | </pre> | ||
− | == Build Debian | + | == Build Debian 11.x == |
<pre>$ cd $TOP | <pre>$ cd $TOP | ||
− | $ | + | $ sudo dpkg -i debian/ubuntu-build-service/packages/* |
− | $ sudo | + | $ sudo apt-get install -f -y |
+ | $ ./build.sh debian | ||
</pre> | </pre> | ||
== Push all image to rockdev folder == | == Push all image to rockdev folder == | ||
− | <pre>$ ./ | + | <pre>$ cd $TOP |
+ | $ ./build.sh firmware | ||
</pre> | </pre> | ||
Line 170: | Line 117: | ||
== Make update.img == | == Make update.img == | ||
<pre>$ cd $TOP | <pre>$ cd $TOP | ||
− | $ | + | $ sudo apt-get install bsdmainutils |
$ ./build.sh updateimg | $ ./build.sh updateimg | ||
</pre> | </pre> |
Latest revision as of 08:39, 22 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 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 rk356x_linux5.10_v130_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 $ ./build.sh adv_rk3568_rsb4810a2_defconfig $
Build Choose Project ROM-5880
$ export TOP=`pwd` $ cd $TOP $ coming soon $
Build Choose Project KEDGE-350
$ export TOP=`pwd` $ cd $TOP $ ./build.sh adv_rk3568_kedge350a1_defconfig $
Build Choose Project EBC-RB07
$ export TOP=`pwd` $ cd $TOP $ coming soon $
Build U-boot
$ cd $TOP $ ./build.sh uboot
Build Kernel
$ cd $TOP $ ./build.sh kernel
Build Recovery
$ cd $TOP $ rm buildroot/output/rockchip_rk3568_recovery -rf $ ./build.sh recovery
Build Debian 11.x
$ cd $TOP $ sudo dpkg -i debian/ubuntu-build-service/packages/* $ sudo apt-get install -f -y $ ./build.sh debian
Push all image to rockdev folder
$ cd $TOP $ ./build.sh firmware
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 $ sudo apt-get install bsdmainutils $ ./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.