Radxa Rock 5B

Author: Jase Batchelor

EDIT: Radxa have updated their docs and have a new site

This covers the setup of two Radxa Rock 5B single board computers (SBC).

Both have been setup to boot from NVMe SSD and use wired networking.

The first board is used as a general purpose machine on my home network

  • Debian running Xfce desktop
  • serves as NAS on home network
  • GitLab for personal projects
  • whatever else ends up installed… ;)

The second board is running a minimal installation and is used solely for development and benchmarking

  • minimal Debian installation
  • development tools, eg LLVM, Rust, Java (SDKMan)






  • Radxa Rock 5B (link)
  • Samsung 980 EVO NVMe SSD (link)
  • Apple 20W USB-C Power Adapter (link)

Optional, but recommended

The Radxa Rock 5B is very fussy about power, particularly once the NVMe drive is installed. Use a good quality power adapter and cables.
To avoid a ‘boot loop’ do NOT try and power the board from your laptop USB port 😉😹




  • download Debian image and SPI tools
  • flash Debian to eMMC module (or SD Card) and NVMe drive with Balena Etcher
  • boot from eMMC module (or SD Card), flash the SPI
  • shutdown, remove eMMC module (or SD Card)
  • reboot from NVMe drive

With a couple of pieces of optional hardware (as mentioned above) this process can be done in a few minutes.

Flash OS image to eMMC and NVMe

Download the Debian image

wget https://github.com/radxa/debos-radxa/releases/download/20221031-1045/rock-5b-debian-bullseye-xfce4-arm64-20221031-1558-gpt.img.xz
# If not using Balena use this
# xzcat rock-5b-debian-bullseye-xfce4-arm64-20221031-1558-gpt.img.xz | sudo dd of=/dev/nvme0n1 bs=1M status=progress

Install Balena Etcher

brew install balenaetcher --cask

Use Balena Etcher to flash the image to both the eMMC module and NVMe drive.

Insert the eMMC module and boot the board.

Login with username rock, password rock

Flash SPI

Download the SPI tools

# Tools to flash / update SPI bootloader
wget https://dl.radxa.com/rock5/sw/images/others/zero.img.gz
wget https://dl.radxa.com/rock5/sw/images/loader/rock-5b/release/rock-5b-spi-image-gbf47e81-20230607.img

Verify the hash and extract

md5sum zero.img.gz
# ac581b250fda7a10d07ad11884a16834  zero.img.gz

gzip -d zero.img.gz
md5sum zero.img
# 2c7ab85a893283e98c931e9511add182  zero.img

md5sum rock-5b-spi-image-gbf47e81-20230607.img 
bd21a6459ad33b8189782e4c904d99b3  rock-5b-spi-image-gbf47e81-20230607.img

Ensure the SPI flash is available

ls /dev/mtdblock*
# it should report back:
# /dev/mtdblock0

Completely clear the SPI flash (may take a few minutes)

sudo dd if=zero.img of=/dev/mtdblock0
# check if the flash was successfully cleared
sudo md5sum /dev/mtdblock0 zero.img
# the result should look exactly like this:
2c7ab85a893283e98c931e9511add182  /dev/mtdblock0
2c7ab85a893283e98c931e9511add182  zero.img

Write bootloader to the SPI flash

sudo dd if=rock-5b-spi-image-gbf47e81-20230607.img of=/dev/mtdblock0

# check if the flash was successfully:

sudo md5sum /dev/mtdblock0 rock-5b-spi-image-gbf47e81-20230607.img
# the checksums should be the same again - if not flash the bootloader again.
bd21a6459ad33b8189782e4c904d99b3  /dev/mtdblock0
bd21a6459ad33b8189782e4c904d99b3  rock-5b-spi-image-gbf47e81-20230607.img

Once completed, power down the board and remove the eMMC module.

Then, power on the board and it should boot from the NVMe drive.



See the Debian article for wired ethernet setup.


Additional configuration

See the Debian article for standard operating environment configuration



  • ARM Quad Cortex A-17 + Quad Cortex A-55 CPU
  • ARM Mali G610 MP4 GPU
  • 5 TOPS NPU
  • Two HDMI and one USB-C up to 8k
  • 2500MB Ethernet with PoE support
  • Supports HDMI 4K Input
  • Supports PCIe 3.0 4x NVMe SSD
  • Supports WiFi 6 and BT 5.2 (with official module)