NetBSD supports several boards based on RockChip SoCs. Starting with NetBSD 9.0, FDT is used to configure devices. As a result, a large number of boards and configurations can be supported with a single kernel.

Supported SoCs
| SoC | NetBSD version | Example boards | Notes |
|---|---|---|---|
| RK3328 | 9.0 | PINE64 Rock64 | Boot from U-Boot (see below) |
| RK3399 | 9.0 | PINE64 RockPro64, PINE64 Pinebook Pro | Boot from U-Boot (see below) |
| RK3288 | 9.99.93 | Asus Tinker Board | Boot from U-Boot (see below) |
| RK356X | 9.99.94 | PINE64 Quartz64 | Boot from UEFI (see below) |
| RK3588 | 9.99.100 | FriendlyELEC NanoPi R6S, Radxa Rock 5B+ | Boot from UEFI (see below) |
Other systems may work, but they have not been tested.
Supported hardware
Please refer to the GENERIC64 (64-bit) kernel configs for the most up-to-date list of supported hardware.
| Device | Supported | Notes |
|---|---|---|
| Audio codec | Yes | |
| CSRNG (RK3399) | Yes | |
| DisplayPort (RK3399) | Yes | |
| Framebuffer | Yes | Uses simplefb configured by bootloader |
| Gigabit Ethernet | Yes | |
| GPIO | Yes | |
| GPU | - | |
| I2C | Yes | |
| I2S/PCM | Experimental | |
| NAND | Yes | |
| P2WI/RSB | Yes | |
| PCIe | - | |
| PWM | Yes | |
| RTC | Yes | |
| SATA | Yes | |
| SD/MMC | Yes | |
| SMP | Yes | |
| SPDIF | - | |
| SPI | Yes | |
| SPI Flash (RK3328) | Yes | |
| Thermal sensors | Yes | |
| UART | Yes | |
| USB 2.0 | Yes | |
| USB 3.0 | Yes | |
| Watchdog timer | Yes |
Installation
- Download or build arm64.img (64-bit) from NetBSD 9.0 or later (found under /evbarm-aarch64/binary/gzimg/)
- Install a board-specific U-Boot from pkgsrc to the image installboot -m evbarm -o board=pine64,rockpro64 arm64.img /usr/pkg/share/u-boot/<boardname>/rksd_loader.img
- Write the image to the SD card: dd if=arm64.img of=/dev/rld0d bs=1m conv=sync
If your SoC has a SATA controller and you would like to install on an hard disk and use a SD card only for u-boot please give a look to NetBSD/evbarm install via sysinst(8) on a SATA hard disk, USB stick or (u)SD card.
Rockchip RK356x based boards (such as the PINE64 Quartz64 and ODROID-M1S) boot from UEFI. Flash NetBSD and the UEFI firmware to separate storage devices, or replace the contents of the boot partition on arm64.img.
Rockchip RK3588 based boards also need to boot from UEFI.
