NixOS on ARM/Radxa ROCK5 Model B: Difference between revisions

From NixOS Wiki
imported>Samueldr
m Rework sections (system configuration)
imported>Samueldr
Initial rework of the Platform Firmware section
Line 25: Line 25:
Support of this system is YMMV (your mileage may vary), and depends on vendor-provided BSP (Board Support Package) based components.
Support of this system is YMMV (your mileage may vary), and depends on vendor-provided BSP (Board Support Package) based components.


== Platform firmware ==
== Platform Firmware ==


Repo for building Platform Firmware: https://github.com/samueldr/Tow-Boot/tree/wip/rock5-vendor
=== Vendor Platform Firmware ===
 
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].
 
If using the vendor-provided platform firmware is desired, [https://gitlab.com/K900/nix/-/blob/1ae5db476aee96fab9c445d7b690a8f5cf7fbe75/hacks/orangepi5/kernel/default.nix#L20 renaming the kernel derivation to a shorter name] should allow boot to succeed.
 
=== Community Repo ===
 
A WIP tree to build U-Boot using the infrastructure for Tow-Boot is available.
 
* https://github.com/samueldr/Tow-Boot/tree/wip/rock5-vendor
 
This uses [https://github.com/u-boot/u-boot/compare/d892cca08d5da230a6690f504ba7a06044b840c8...samueldr:u-boot:wip/rock5/not-tb-2023-03-29 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).


To build:  
To build:  

Revision as of 21:53, 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 Repo

A WIP tree to build U-Boot using the infrastructure for Tow-Boot is available.

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).

To build:

nix-build -A radxa-rock5b

Flash result to installation media (sd or mmc)

System configuration

None of the basic components (Platform Firmware, Kernel) 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

Resources