Difference between revisions of "NixOS on ARM/Radxa ROCK5 Model B"

From NixOS Wiki
Jump to: navigation, search
m (Update U-Boot diff link)
m (rollback unauthorized mass edits)
Tag: Rollback
 
(6 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{ARM/breadcrumb}}
+
This page has been moved to the official NixOS Wiki:
<div class="infobox">
 
{|class="table"
 
!colspan="2" class="title"|Radxa ROCK5 Model B
 
|-
 
!Manufacturer
 
|Radxa
 
|-
 
!Architecture
 
|AArch64
 
|-
 
!Platform firmware
 
|Vendor BSP
 
|-
 
!Startup order
 
|SPI NOR Flash, eMMC, SD
 
|-
 
!Maintainer
 
|
 
|}
 
</div>
 
  
The Radxa ROCK5 Model B is a Single-Board Computer with a Rockchip RK3588 SoC.
+
    ⇒ '''[https://wiki.nixos.org/wiki/NixOS_on_ARM/Radxa_ROCK5_Model_B NixOS on ARM/Radxa ROCK5 Model B]'''
  
Support of this system is YMMV (your mileage may vary), and depends on vendor-provided BSP (Board Support Package) based components.
+
''— samueldr, Lead of NixOS on ARM.''
 
 
== 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].
 
 
 
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 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.)
 
 
 
* 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-30 a fork with some fixes], so that an installation on the SPI Flash will work, and allow OS booting from NVMe, eMMC or SD. NVMe support may be YMMV depending on the specific hardware.
 
 
 
The [https://github.com/samueldr/Tow-Boot/blob/wip/rock5-vendor/boards/radxa-rock5b/README.md board-specific README] has further notes.
 
 
 
Using from shared storage (SD, eMMC) or from SPI should work, and both are as supported.
 
 
 
To build:
 
 
 
<pre>
 
$ nix-build -A radxa-rock5b
 
</pre>
 
 
 
The SD or eMMC shared storage image can be flashed as usual:
 
 
 
<pre>
 
# dd if=shared.disk-image.img of=/dev/XXX bs=1M oflag=direct,sync status=progress
 
</pre>
 
 
 
The SPI image <strong>cannot</strong> be installed using the usual installer. For now you should [https://wiki.radxa.com/Rock5/install/spi follow the vendor instructions] to write the <code>binaries/Tow-Boot.spi.bin</code> file to SPI. In other words using <code>rkdeveloptool</code> 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:
 
 
 
<pre>
 
$ nix-build
 
</pre>
 
 
 
Flash result to a new second legacy bootable ext4 partition on the installation media
 
 
 
Boot into system
 
 
 
<pre>
 
$ sudo nixos-rebuild switch --flake github:jonahbron/config/aciceri-rebooted-into-this#rock5b
 
</pre>
 
 
 
== Resources ==
 
 
 
* [https://wiki.radxa.com/Rock5 Official vendor documentation page]
 
 
 
[[Category:Hardware]]
 

Latest revision as of 11:07, 6 April 2024

This page has been moved to the official NixOS Wiki:

    ⇒ NixOS on ARM/Radxa ROCK5 Model B

— samueldr, Lead of NixOS on ARM.