NixOS on ARM/Radxa ROCK5 Model B: Difference between revisions
imported>Samueldr m Finish rewording not-Tow-Boot section |
imported>Samueldr m Add baud rate notes |
||
Line 28: | Line 28: | ||
=== Vendor Platform Firmware === | === Vendor Platform Firmware === | ||
{{note|The Vendor Platform Firmware operates at the 1500000 baud rate. Your system may need to be configured to use 1500000 baud rate to make the serial console usable.}} | |||
Booting the system with the vendor-provided platform firmware may not work due to a [https://github.com/samueldr/u-boot/commit/a0af72272b8db4b5d83df2f14ad950d3e30b3e04 known issue in older U-Boot]. | Booting the system with the vendor-provided platform firmware may not work due to a [https://github.com/samueldr/u-boot/commit/a0af72272b8db4b5d83df2f14ad950d3e30b3e04 known issue in older U-Boot]. | ||
Line 34: | Line 36: | ||
=== Community Platform Firmware === | === Community Platform Firmware === | ||
{{note|This Platform Firmware operates at the 115200 baud rate. The 115200 baud rate is more standard, so it may or may not need to be adapted to be usable.}} | |||
A WIP tree to build U-Boot using the infrastructure for Tow-Boot is available. (The end-result is <em>not</em> a proper Tow-Boot build.) | A WIP tree to build U-Boot using the infrastructure for Tow-Boot is available. (The end-result is <em>not</em> a proper Tow-Boot build.) |
Revision as of 22:06, 30 March 2023
Radxa ROCK5 Model B | |
---|---|
Manufacturer | Radxa |
Architecture | AArch64 |
Platform firmware | Vendor BSP |
Startup order | SPI NOR Flash, eMMC, SD |
Maintainer |
The Radxa ROCK5 Model B is a Single-Board Computer with a Rockchip RK3588 SoC.
Support of this system is YMMV (your mileage may vary), and depends on vendor-provided BSP (Board Support Package) based components.
Platform Firmware
Vendor Platform Firmware
Booting the system with the vendor-provided platform firmware may not work due to a known issue in older U-Boot.
If using the vendor-provided platform firmware is desired, renaming the kernel derivation to a shorter name should allow boot to succeed.
Community Platform Firmware
A WIP tree to build U-Boot using the infrastructure for Tow-Boot is available. (The end-result is not a proper Tow-Boot build.)
This uses a fork with some fixes, so that an installation on the SPI Flash will work, and allow booting from eMMC or SD. NVMe was not successfully validated yet (issues likely hardware-specific).
The board-specific README has further notes.
Using from shared storage (SD, eMMC) or from SPI should work, and both are as supported.
To build:
$ nix-build -A radxa-rock5b
The SD or eMMC shared storage image can be flashed as usual:
# dd if=shared.disk-image.img of=/dev/XXX bs=1M oflag=direct,sync status=progress
The SPI image cannot be installed using the usual installer. For now you should follow the vendor instructions, in other words using rkdeveloptool
for the installation, or any other way to write to SPI flash.
System configuration
None of the basic components (Kernel, HW acceleration drivers) are available from upstream NixOS.
Building a working system requires additional configuration.
@aciceri's flake
Nix flake for building OS image: https://github.com/aciceri/rock5b-nixos
To build:
nix-build
Flash result to a new second legacy bootable ext4 partition on the installation media
Boot into system
sudo nixos-rebuild switch --flake github:jonahbron/config/aciceri-rebooted-into-this#rock5b