:warning: Work in progress, use at your own risk...
A minimal flake to run NixOS on RK3588/RK3588s based SBCs, support both UEFI & U-Boot.
Default user: rk
, default password: rk3588
UEFI support:
Singal Board Computer | Boot from SD card | Boot from SSD |
---|---|---|
Orange Pi 5 | :heavy_check_mark: | :heavy_check_mark: |
Orange Pi 5 Plus | :heavy_check_mark: | :heavy_check_mark: |
Rock 5A | :no_entry_sign: | :no_entry_sign: |
U-Boot support:
Singal Board Computer | Boot from SD card | Boot from SSD |
---|---|---|
Orange Pi 5 | :heavy_check_mark: | :heavy_check_mark: |
Orange Pi 5 Plus | :heavy_check_mark: | :no_entry_sign: |
Rock 5A | :heavy_check_mark: | :no_entry_sign: |
For UEFI, see UEFI.md.
For U-Boot, see U-Boot.md.
See Debug.md
You can use this flake as an input to build your own configuration. Here is an example configuration that you can use as a starting point: Demo - Deployment
A complete Linux system typically consists of five components:
Among these, the bootloader, the kernel, device trees, and firmwares are hardware-related and require customization for different SBCs. On the other hand, the majority of content in the rootfs is hardware-independent and can be shared across different SBCs.
Hence, the fundamental approach here is to use the hardware-specific components(bootloader, kernel, and device trees, firmwares) provided by the vendor(orangepi/rockpi/...), and combine them with the NixOS rootfs to build a comprehensive system.
Regarding RK3588/RK3588s, a significant amount of work has been done by Armbian on their kernel, and device tree. Therefore, by integrating these components from Armbian with the NixOS rootfs, we can create a complete NixOS system.
The primary steps involved are:
And I also got a lot of help in the NixOS on ARM Matrix group!