Please enable javascript, or click here to visit my ecommerce web site powered by Shopify.
Jump to: navigation, search

Difference between revisions of "Rock5/5b/singleindex"

< Rock5‎ | 5b
Line 455: Line 455:
 
* NVME M.2 SDD:  /dev/nvme0n1
 
* NVME M.2 SDD:  /dev/nvme0n1
  
 +
== Development ==
 +
 +
=== Build ROCK 5B Debian ===
 +
 +
==== Get the source code ====
 +
 +
You need Git to get multiple git repositories to build the image.
 +
 +
Install Git if you don't have it.
 +
 +
sudo apt-get update
 +
sudo apt-get install git
 +
 +
Clone the source code
 +
 +
mkdir ~/rk3588-sdk && cd ~/rk3588-sdk
 +
git clone -b stable-5.10-rock5 https://github.com/radxa/u-boot.git
 +
git clone -b stable-5.10-rock5 https://github.com/radxa/kernel.git
 +
git clone -b master https://github.com/radxa/rkbin.git
 +
git clone -b debian https://github.com/radxa/build.git
 +
git clone -b main https://github.com/radxa/debos-radxa.git
 +
 +
And you will get
 +
 +
build  kernel  rkbin u-boot
 +
 +
Directories usage introductions:
 +
 +
* build:
 +
** Some script files and configuration files for building u-boot, kernel and rootfs.
 +
* kernel:
 +
** kernel source code, current version is 4.19.193.
 +
* rkbin:
 +
** Prebuilt Rockchip binaries, include first stage loader and ATF(Arm Trustzone Firmware).
 +
* u-boot:
 +
** u-boot as the second stage bootloader
 +
 +
==== Install toolchain ====
 +
 +
wget https://dl.radxa.com/tools/linux/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz
 +
sudo tar zxvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz -C /usr/local/
 +
 +
Add the following line to the end of file ~/.bashrc
 +
 +
export PATH="/usr/local/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:$PATH"
 +
 +
And source ~/.bashrc
 +
 +
source ~/.bashrc
 +
 +
Check the version of toolchain
 +
 +
<pre>
 +
radxa@x86-64:~$ which aarch64-none-linux-gnu-gcc
 +
/usr/local/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc
 +
 +
radxa@x86-64:~$ aarch64-none-linux-gnu-gcc -v
 +
Using built-in specs.
 +
COLLECT_GCC=aarch64-none-linux-gnu-gcc
 +
COLLECT_LTO_WRAPPER=/usr/local/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/../libexec/gcc/aarch64-none-linux-gnu/10.3.1/lto-wrapper
 +
Target: aarch64-none-linux-gnu
 +
Configured with: /data/jenkins/workspace/GNU-toolchain/arm-10/src/gcc/configure --target=aarch64-none-linux-gnu --prefix= --with-sysroot=/aarch64-none-linux-gnu/libc --with-build-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/install//aarch64-none-linux-gnu/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/host-tools --with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/host-tools --with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/host-tools --with-isl=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/host-tools --enable-fix-cortex-a53-843419 --with-pkgversion='GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)'
 +
Thread model: posix
 +
Supported LTO compression algorithms: zlib
 +
gcc version 10.3.1 20210621 (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29))
 +
</pre>
 +
 +
==== Install other build tools ====
 +
 +
sudo apt-get install device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python dosfstools
 +
 +
==== Build u-boot ====
 +
 +
Need to checkout branch to '''stable-5.10-rock5'''.
 +
 +
Build u-boot with default '''rock-5b-rk3588_defconfig'''.
 +
 +
cd ~/rk3588-sdk
 +
./build/mk-uboot.sh k3588-rock-5b    #For ROCK 5B
 +
 +
The generated images will be copied to out/u-boot folder
 +
 +
ls out/u-boot/
 +
idbloader.img  rk3588_spl_loader_v1.07.111.bin  spi  u-boot.itb
 +
 +
==== Apply u-boot ====
 +
 +
1. you should check file in out/u-boot should be like this:   
 +
 +
ls out/u-boot/
 +
idbloader.img  rk3588_spl_loader_v1.07.111.bin  spi  u-boot.itb
 +
 +
2. flash u-boot to you storage 
 +
 +
sudo dd if=./idbloader.img of=/path/to/storage/device bs=512 seek=64
 +
sudo dd if=./u-boot.itb of=/path/to/storage/device bs=512 seek=16384
 +
 +
==== Build kernel ====
 +
 +
Need to checkout branch to '''stable-5.10-rock5'''.
 +
 +
Build kernel with default '''rockchip_linux_defconfig'''.
 +
 +
cd ~/rk3588-sdk
 +
./build/mk-kernel.sh rk3588-rock-5b    #For ROCK 5B
 +
 +
===== Change kernel config =====
 +
 +
Optionally, if you want to change the default kernel config
 +
 +
cd ~/rk3588-sdk
 +
cd kernel
 +
export ARCH=arm64
 +
export CROSS_COMPILE=aarch64-none-linux-gnu-
 +
make rockchip_linux_defconfig
 +
make menuconfig
 +
make savedefconfig
 +
cp defconfig arch/arm64/configs/rockchip_linux_defconfig
 +
cd ..
 +
./build/mk-kernel.sh rk3588-rock-5b    #For ROCK 5B
 +
 +
You will get the kernel image and dtb file
 +
 +
ls out/kernel/
 +
Image  rk3588-rock-5b.dtb
 +
 +
==== Build kernel deb package ====
 +
 +
The kernel package build can pack the kernel, device tree, modules and firmware into Debian packages, which makes it easier to install on the ROCK 5.
 +
 +
./build/pack-kernel.sh -d rockchip_linux_defconfig -r 10 # rockchip_linux_defconfig: kernel defconfig; 1: release number
 +
 +
The generated packages will be copied to out/packages directory.
 +
 +
ls out/packages/
 +
linux-5.10.66-10-rockchip-ge5013df5e066_5.10.66-10-rockchip_arm64.changes
 +
linux-image-5.10.66-10-rockchip-ge5013df5e066-dbg_5.10.66-10-rockchip_arm64.deb
 +
linux-headers-5.10.66-10-rockchip-ge5013df5e066_5.10.66-10-rockchip_arm64.deb
 +
linux-libc-dev_5.10.66-10-rockchip_arm64.deb
 +
linux-image-5.10.66-10-rockchip-ge5013df5e066_5.10.66-10-rockchip_arm64.deb
 +
 +
When you want to install specified kernel packages to your OS, try the following steps.
 +
 +
copy linux-image-5.10.66-10-rockchip-ge5013df5e066-dbg_5.10.66-10-rockchip_arm64.deb to your ROCK 5.
 +
 +
Install them on ROCK 5.
 +
 +
# dpkg -i linux-image-5.10.66-10-rockchip-ge5013df5e066-dbg_5.10.66-10-rockchip_arm64.deb
 +
 +
==== Generate system image ====
 +
 +
Remove old ROCK 5B U-boot and Kernel packages.
 +
 +
$ cd ~/rk3588-sdk/debos-radxa
 +
 +
$ ls rootfs/packages/arm64/kernel/*5.10.66*
 +
rootfs/packages/arm64/kernel/linux-headers-5.10.66-6-rockchip-gbb60f4aeba31_5.10.66-6-rockchip_arm64.deb
 +
rootfs/packages/arm64/kernel/linux-image-5.10.66-6-rockchip-gbb60f4aeba31_5.10.66-6-rockchip_arm64.deb
 +
 +
$ ls rootfs/packages/arm64/u-boot/rock-5b*
 +
rootfs/packages/arm64/u-boot/rock-5b-rk-ubootimg_2017.09-g592fa62ffe2-220419_all.deb
 +
 +
Copy new ROCK 5B U-boot and Kernel packages to the specified place.
 +
Like Kernel packages in rootfs/packages/arm64/kernel/ and U-boot package in rootfs/packages/arm64/u-boot
 +
 +
Set up Docker
 +
 +
$ cd ~/rk3588-sdk/debos-radxa
 +
$ ./docker/dev-shell
 +
 +
Build image in Docker container.
 +
 +
# ./build.sh -c rk3588 -b rock-5b -m debian -d bullseye -v xfce4 -a arm64 -f gpt
 +
 +
The generated system images will be copied to ~/rk3588-sdk/debos-radxa/output directory.
  
  

Revision as of 11:15, 18 June 2022

Contents

Welcome to the ROCK 5B Documentation

Getting Started

This guide is designed for ROCK 5B enthusiast. The purpose is to learn about ROCK 5B as well as how to prepare and set up for basic use. When you get a board, you need to know what model it is and which hardware version it is. The information is printed in the top side of the board. We will introduce the board information as much as possible.

Close look of ROCK 5B

  • ROCK 5B front view

Rock-5b-front.png

  • ROCK 5B front with an angle view

Rock-5b-angle.jpeg

  • ROCK 5B back view

Rock-5b-back.png

Features

What you need

Necessary

  • ROCK 5B main board
  • One of the Storage media below:
    • microSD, larger than 8GB
    • eMMC module, larger than 8GB
  • Power supply
    • The ROCK 5B is powered by Type-C port and has a wide range of input voltage, from 5V to 21V. ROCK 5B supports USB Type-C PD 2.0 with 9V/2A, 12V/2A, 15V/2A and 20V/2A.
    • The Type-C cable you using needs to support data communication. We call it USB Type-C charging data cable.
  • USB Keyboard and Mouse
    • With four USB-A connectors, ROCK 5B can be equipped with a full sized keyboard and mouse.
  • Monitor and HDMI Cable
    • ROCK 5B is equipped with a full sized HDMI connector. HDMI capable monitor is recommended.
    • HDMI EDID display data is used to determine the best display resolution. On monitors and TVs that support 1080p (or 4K/8K) this resolution will be selected. If 1080p is not supported the next available resolution reported by EDID will be used. This selected mode will work with MOST but not all monitors/TVs.
  • USB to TTL serial cable
    • ROCK 5B exports a dedicated serial console for CPU, which can access the low level debug message.
  • USB type A to typec C cable
    • If you want to write image on ROCK 5B from USB OTG port or use fastboot/adb commands you need an USB typec A to type C cable to connect ROCK 5B and PC.

Optional

  • microSD Card Reader
    • For flashing the image into microSD Card
  • USB type A to type C cable
    • This is needed for fastboot/adb commands.
  • USB to TTL serial cable
    • This is needed for serial console.
  • Ethernet cable
    • ROCK 5B supports Internet access via Ethernet.
    • An Ethernet cable is used to connect your ROCK 5B to a local network and the Internet.
  • Camera Module
    • ROCK 5B supports camera function.
  • LCD Module
    • ROCK 5B supports LCD display function.
  • Audio cable
    • Audio can be played through speaker or headphones using a standard 3.5mm jack.

Starting the board for the first time

ROCK 5B can be started with eMMC Module or μSD Card. Now, you are presented with three options when installing your new operating system onto your ROCK 5B.

Prepare

  • When starting system with eMMC Module

(Option a) Inster the eMMC Module into ROCK Pi eMMC USB Reader. Then plug the ROCK Pi eMMC USB Reader into host PC.

(Option b) Insert eMMC Module into eMMC to μSD card converter board. Insert the converter board into μSD Card Reader. Then plug the Card Reader into host PC.

  • When starting system with μSD Card

(Option c) Insert the μSD Card into μSD Card Reader. Then plug the Card Reader into host PC.

Write Image

  • Download the official Ubuntu/Debian system image from Downloads.
  • Download the flash tool, etcher, from Downloads. Choose the right version for your host operation system. Here we operate on host Ubuntu 20.04.
  • After unpacking the package, we run the tool by double-clicking BalenaEtcher icon.

If you get an error message: "No polkit authentication agent found" you can try and start it with sudo, but do know that this is running the tool as root.

  • In the etcher window, click Select image.

Etcher-rock-5b-1.png

  • In the etcher window, click Select Drive.

Etcher-rock-5b-2.png

  • In the etcher window, click Flash.

Etcher-rock-5b-3.png

  • In the etcher window, once it shows us Flash Complete! It is done and can be put into the RockPi.

Etcher-rock-5b-4.png

3. Boot the board

  • Now insert the system storage media, μSD Card or eMMC Module into the socket on the board.
  • (Optional) Use the USB to TTL serial cable to setup a connection between PC and ROCK 5B board. See Serial Console.
  • Power on ROCK 5B by adapter with type C port.
  • ROCK 5B will boot with the green power LED on. And after a while, another blue LED starts blinking.

4. Access from the Host PC/Laptop

Option 1: HDMI monitor and Mouse

You would see Desktop on HDMI monitor.

Option 2: Serial console

Check Serial Console

Option 3: SSH

SSH server is enabled on port 22 of ROCK 5B default image.

Please use angryip to find your board IP address.

To access ROCK 5B by SSH, try

ping rock-5b.local
ssh rock@rock-5b.local

or if your router/network doesn't support Local Domain, you need to check your network/router administrator page and look for the ROCK 5B ip address.

ping ip-of-device
ssh rock@ip-of-device

Note: You can also get the IP of ROCK 5B from option 1 if you can not access network administrator page.

5.Network state

  • Look at network configure:
$ sudo ifconfig
  • Test network:
$ ping -c 5 www.google.com

6.WIFI Connection

Check WIFI Connection.

7.Bluetooth

Check Bluetooth.

8.LED

ROCK 5B has Power LED and User LED.

  • Power LED

The power LED is green. It is always on when ROCK 5B is given power by default,

  • User LED

The user LED is blue. By default, its blink status shows the running kernel.

9.GPIO

ROCK 5B has one 40-pin expansion headers. Each pin is distinguished by color, more information click ROCK 5B GPIO.

Development for GPIO. ROCK 5B supports libmraa GPIO library, click here to get more information.


Downloads

Official ROCK Pi system images can also be downloaded from

For usernames and passwords please check the FAQ.

Tools

Description Linux MacOS Windows
Etcher - A user friendly Image Writer Linux 64bit | Linux 32bit balenaEtcher-1.4.9.dmg balenaEtcher-Setup-1.4.9-x86.exe

Official Images

Distribution Supoprted Boards Description
Android-Logo.jpg
Debian-logo.png

Debian Product.

Install Wiki.

Debian Bullseye(11).

Change Log.

Ubuntu logo.png

Ubuntu Server Product.

Install Wiki.

Ubuntu Server 20.04.

Change Log.

Third Party Images

Community Built Images

Hardware

Technical information about ROCK 5 Series hardware

ROCK 5B

Datasheets

    • RK3588 TRM(Technical Reference Manual) Part 1(56.6MB, 2287pages), Part 2(55.6MB, 3694 pages)- The detail about RK3588(s)
    • RK809 - The PMIC
    • RTL8211F - The ethernet phy
    • IP2315 - Charging IC with integrated input fast charge protocol

Accessories

Radxa OS

Radxa OS is built based on Debian.

ROCK 5 Debian uses systemd to manage system.

Command prepended by $ means the command may be executed by an unprivileged user. And command prepended by # means the command may be executed by an privileged user. But the symbol, $ or #, is not part of the command.

List of boards supported

  • ROCK 5B

Access from the Host PC/Laptop

Option 1: HDMI monitor and Mouse

You would see Desktop on HDMI monitor.

Option 2: Serial console

See Serial Console

Option 3: SSH

SSH server is enabled on port 22 of ROCK 5 default image.

Please use angryip to find your board IP address.

$ ping ip-of-device
$ ssh rock@ip-of-device

Debian Default User Account

Non-root User:

User Name : rock
Password  : rock

Radxa APT

Radxa APT source includes stable one and testing one. Stable source includes stable packages while testing source includes latest but maybe unstable packages.

Radxa APT stable source is added by default while testing source is not added.

You can uncomment line like "deb http://apt.radxa.com/bullseye-testing/ buster main" in file /etc/apt/sources.list.d/apt-radxa-com.list to add testing source.

See file /etc/apt/sources.list.d/apt-radxa-com.list

deb http://apt.radxa.com/bullseye-stable/ buster main
deb http://apt.radxa.com/bullseye-testing/ buster main

After adding testing source, you need to update APT and install your needed packages.

$ sudo apt-get update

For more detail about Radxa APT, please see Radxa APT.

Upgrade necessary packages

Here is the example of upgrading rockchip-overlay and kernel packages.

$ sudo apt-get update
$ sudo apt-get install -y rockchip-overlay

Ethernet

5B Ethernet

ROCK 5B is equipped with one 2.5G Ethernet port. You can use a network cable (one end connected to the external network port or route) to connect your ROCK 5B to the network. The ROCK 5B will automatically configure the network for your surfing on the Internet.

Ethernet throughput test result table.

Direction Bitrate
Upstream 2.34 Gbits/sec
Downstream 2.35 Gbits/sec
To test the Ethernet, we need to follow the steps:
  • Switch to super user mode by command
$ sudo su
  • Check whether the Ethernet is normal by command, ifconfig, which would show us a network card, eth0 or enP4p65s0 , and the Ethernet IP address. Also, use tool, ping, to connect to a normal domain.
$ ifconfig
$ ping www.baidu.com
  • If failed to connect to a normal domain. , try
$ sudo dhclient eth0
or
$ sudo dhclient enP4p65s0

Storage device

  • uSD Card: /dev/mmcblk0
  • eMMC: /dev/mmcblk1
  • NVME M.2 SDD: /dev/nvme0n1

Development

Build ROCK 5B Debian

Get the source code

You need Git to get multiple git repositories to build the image.

Install Git if you don't have it.

sudo apt-get update
sudo apt-get install git

Clone the source code

mkdir ~/rk3588-sdk && cd ~/rk3588-sdk
git clone -b stable-5.10-rock5 https://github.com/radxa/u-boot.git
git clone -b stable-5.10-rock5 https://github.com/radxa/kernel.git
git clone -b master https://github.com/radxa/rkbin.git
git clone -b debian https://github.com/radxa/build.git
git clone -b main https://github.com/radxa/debos-radxa.git

And you will get

build  kernel  rkbin u-boot

Directories usage introductions:

  • build:
    • Some script files and configuration files for building u-boot, kernel and rootfs.
  • kernel:
    • kernel source code, current version is 4.19.193.
  • rkbin:
    • Prebuilt Rockchip binaries, include first stage loader and ATF(Arm Trustzone Firmware).
  • u-boot:
    • u-boot as the second stage bootloader

Install toolchain

wget https://dl.radxa.com/tools/linux/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz
sudo tar zxvf gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.gz -C /usr/local/

Add the following line to the end of file ~/.bashrc

export PATH="/usr/local/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin:$PATH"

And source ~/.bashrc

source ~/.bashrc

Check the version of toolchain

radxa@x86-64:~$ which aarch64-none-linux-gnu-gcc
/usr/local/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu-gcc

radxa@x86-64:~$ aarch64-none-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=aarch64-none-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/../libexec/gcc/aarch64-none-linux-gnu/10.3.1/lto-wrapper
Target: aarch64-none-linux-gnu
Configured with: /data/jenkins/workspace/GNU-toolchain/arm-10/src/gcc/configure --target=aarch64-none-linux-gnu --prefix= --with-sysroot=/aarch64-none-linux-gnu/libc --with-build-sysroot=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/install//aarch64-none-linux-gnu/libc --with-bugurl=https://bugs.linaro.org/ --enable-gnu-indirect-function --enable-shared --disable-libssp --disable-libmudflap --enable-checking=release --enable-languages=c,c++,fortran --with-gmp=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/host-tools --with-mpfr=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/host-tools --with-mpc=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/host-tools --with-isl=/data/jenkins/workspace/GNU-toolchain/arm-10/build-aarch64-none-linux-gnu/host-tools --enable-fix-cortex-a53-843419 --with-pkgversion='GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)'
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 10.3.1 20210621 (GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29))

Install other build tools

sudo apt-get install device-tree-compiler libncurses5 libncurses5-dev build-essential libssl-dev mtools bc python dosfstools

Build u-boot

Need to checkout branch to stable-5.10-rock5.

Build u-boot with default rock-5b-rk3588_defconfig.

cd ~/rk3588-sdk
./build/mk-uboot.sh k3588-rock-5b     #For ROCK 5B

The generated images will be copied to out/u-boot folder

ls out/u-boot/
idbloader.img  rk3588_spl_loader_v1.07.111.bin  spi  u-boot.itb

Apply u-boot

1. you should check file in out/u-boot should be like this:

ls out/u-boot/
idbloader.img  rk3588_spl_loader_v1.07.111.bin  spi  u-boot.itb

2. flash u-boot to you storage

sudo dd if=./idbloader.img of=/path/to/storage/device bs=512 seek=64
sudo dd if=./u-boot.itb of=/path/to/storage/device bs=512 seek=16384

Build kernel

Need to checkout branch to stable-5.10-rock5.

Build kernel with default rockchip_linux_defconfig.

cd ~/rk3588-sdk
./build/mk-kernel.sh rk3588-rock-5b    #For ROCK 5B
Change kernel config

Optionally, if you want to change the default kernel config

cd ~/rk3588-sdk
cd kernel
export ARCH=arm64
export CROSS_COMPILE=aarch64-none-linux-gnu-
make rockchip_linux_defconfig
make menuconfig
make savedefconfig
cp defconfig arch/arm64/configs/rockchip_linux_defconfig
cd ..
./build/mk-kernel.sh rk3588-rock-5b    #For ROCK 5B

You will get the kernel image and dtb file

ls out/kernel/
Image  rk3588-rock-5b.dtb

Build kernel deb package

The kernel package build can pack the kernel, device tree, modules and firmware into Debian packages, which makes it easier to install on the ROCK 5.

./build/pack-kernel.sh -d rockchip_linux_defconfig -r 10 # rockchip_linux_defconfig: kernel defconfig; 1: release number

The generated packages will be copied to out/packages directory.

ls out/packages/
linux-5.10.66-10-rockchip-ge5013df5e066_5.10.66-10-rockchip_arm64.changes
linux-image-5.10.66-10-rockchip-ge5013df5e066-dbg_5.10.66-10-rockchip_arm64.deb
linux-headers-5.10.66-10-rockchip-ge5013df5e066_5.10.66-10-rockchip_arm64.deb
linux-libc-dev_5.10.66-10-rockchip_arm64.deb
linux-image-5.10.66-10-rockchip-ge5013df5e066_5.10.66-10-rockchip_arm64.deb

When you want to install specified kernel packages to your OS, try the following steps.

copy linux-image-5.10.66-10-rockchip-ge5013df5e066-dbg_5.10.66-10-rockchip_arm64.deb to your ROCK 5.

Install them on ROCK 5.

# dpkg -i linux-image-5.10.66-10-rockchip-ge5013df5e066-dbg_5.10.66-10-rockchip_arm64.deb

Generate system image

Remove old ROCK 5B U-boot and Kernel packages.

$ cd ~/rk3588-sdk/debos-radxa

$ ls rootfs/packages/arm64/kernel/*5.10.66*
rootfs/packages/arm64/kernel/linux-headers-5.10.66-6-rockchip-gbb60f4aeba31_5.10.66-6-rockchip_arm64.deb
rootfs/packages/arm64/kernel/linux-image-5.10.66-6-rockchip-gbb60f4aeba31_5.10.66-6-rockchip_arm64.deb

$ ls rootfs/packages/arm64/u-boot/rock-5b*
rootfs/packages/arm64/u-boot/rock-5b-rk-ubootimg_2017.09-g592fa62ffe2-220419_all.deb

Copy new ROCK 5B U-boot and Kernel packages to the specified place. Like Kernel packages in rootfs/packages/arm64/kernel/ and U-boot package in rootfs/packages/arm64/u-boot

Set up Docker

$ cd ~/rk3588-sdk/debos-radxa
$ ./docker/dev-shell

Build image in Docker container.

# ./build.sh -c rk3588 -b rock-5b -m debian -d bullseye -v xfce4 -a arm64 -f gpt

The generated system images will be copied to ~/rk3588-sdk/debos-radxa/output directory.


FAQs

General

Q: Rock 5B will have WiFi 6E support. Does the new rock 5b board come with a (6E) wifi chip. Or will this be purchased separately?
WiFi Card is not included by default since different users require different WiFi speed.