Armbian on Raxda's Rock5b ARM board
Author: Ananda Kammampati
Dated : Jan 2023
Credits:
- A Big Thank You to Armbian for providing Rock5b images
Goal:
- Configuring the Rock5b board to make it NVMe SSD bootable
Pre-req:
- Connect an NVMe SSD that is formatted and partitioned with an ext4 filesystem
Scope:
- Documenting and sharing the required steps
Out of Scope:
- End-to-end testing
References:
Step 01: Armbian Installation Steps
1) Download the image ( the one I downloaded: Armbian_22.11.2_Rock-5b_jammy_legacy_5.10.110.img ) 2) Copy the image onto an SD card using Belena Ether software 3) Use the right power supply 4) Refer to FAQ on Armbian link provided under References 5) Connect the board to a network where a DHCP Service available (makes it easy) 6) Power on the board
Step 02: Platform Verification
root@rock-5b:~# uname -a
Linux rock-5b 5.10.110-rockchip-rk3588 #trunk.0025 SMP Thu Dec 8 15:14:22 UTC 2022 aarch64 aarch64 aarch64 GNU/Linux
root@rock-5b:~# cat /etc/*release
# PLEASE DO NOT EDIT THIS FILE
BOARD=rock-5b
BOARD_NAME="Rock 5B"
BOARDFAMILY=rockchip-rk3588
BUILD_REPOSITORY_URL=https://github.com/armbian/build
BUILD_REPOSITORY_COMMIT=dbb2846
VERSION=22.11.2
LINUXFAMILY=rockchip-rk3588
ARCH=arm64
IMAGE_TYPE=stable
BOARD_TYPE=wip
INITRD_ARCH=arm64
KERNEL_IMAGE_TYPE=stable
IMAGE_UUID=4428a65b-d9db-4f13-be12-b2fd0e625cc0
# PLEASE DO NOT EDIT THIS FILE
BOARD=rock-5b
BOARD_NAME="Rock 5B"
BOARDFAMILY=rockchip-rk3588
BUILD_REPOSITORY_URL=git@github.com:armbian/build.git
BUILD_REPOSITORY_COMMIT=dbb28469f
VERSION=22.11.2
LINUXFAMILY=rockchip-rk3588
ARCH=arm64
IMAGE_TYPE=user-built
BOARD_TYPE=wip
INITRD_ARCH=arm64
KERNEL_IMAGE_TYPE=Image
BRANCH=legacy
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS"
PRETTY_NAME="Armbian 22.11.2 Jammy"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy
root@rock-5b:~# lspci
0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd Device 3588 (rev 01)
0000:01:00.0 Non-Volatile memory controller: Sandisk Corp WD Blue SN550 NVMe SSD (rev 01)
0004:40:00.0 PCI bridge: Rockchip Electronics Co., Ltd Device 3588 (rev 01)
0004:41:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
root@rock-5b:~# apt-get -y update
root@rock-5b:~# apt-get -y upgrade
root@rock-5b:~# update-alternatives --set iptables /usr/sbin/iptables-legacy
root@rock-5b:~# update-alternatives --set ip6tables /usr/sbin/ip6tables-legacy
root@rock-5b:~# armbian-config --> Software --> Softy --> Docker
root@rock-5b:~# docker --version
Docker version 20.10.22, build 3a2c30b
root@rock-5b:~# systemctl status -l docker
root@rock-5b:~# systemctl enable docker.service
Step 03: Block Devices and naming conventions
Run 'lsblk' command and list all the devices. mtdblock0 --> SP1 [ Currently empty ] mmcblk1 --> SD Card [ There are two partition on the SD Card ] nvme0n1 --> 1TB NVMe SSD [ There is just one partition on the NVMe SSD ]
Step 04: Overall steps to make the board NVMe SSD bootable
1) Use the tool 'armbian-install' 2) Choose the option from which block device the board should boot from (bootloader will be installed) 3) Choose the option to select NVMe as the destination for installing the rootfs 4) Confirm the selection 5) Power off once completed 6) Remove the SD Card from the board 7) Power on the Board
Step 05: Run armbian-install tool
root@rock-5b# armbian-install --> Select SPI as the device from where the board needs to boot from (bootloader goes here)
Step 06: Select NVMe SSD as the destination where rootfs will be installed
Step 07: Confirm writing boot loader to SPI
Step 08: Status update
Step 09: Confirm again
Step 10: Done
Step 11: Remove the SD Card and power on the board. The boot should now boot from NVMe SSD