[AArch64] Installing NixOS on a CM3588

I’ve ordered a CM3588 (wiki for the board is here) from friendlyelec.com, and only realized after that there is no explicit NixOS support for it, at least none that I can find¹.

However, it’s an AArch64 board and there’s support for e.g. Ubuntu and OpenMediaVault, which means it has to be possible to get working without hardcore kernel hacking (i.e. implementing drivers).

Does anyone here have any experience on how to go about something like getting NixOS to run on the CM3588?

¹ But even if I’d known, that board currently looks like one of the best ways to build an energy efficient NAS. It’s expected energy use is around 7-10W idle, which is about half what you’d expect from a NAS from e.g. Synology.

1 Like

I have that same board, and from the digging I’ve found here is what I’ve found:

  • The closest supported board by NixOS is the NanoPi-R6C.
    • This board does not boot the regular NixOS ARM ISO using U-boot
    • However, EDK2-RK3588 is a UEFI implementation for the SoC (the same SoC as our CM3588), which can be flashed to the eMMC.
    • With the UEFI flashed, the NanoPi-R6C can boot the regular NixOS ARM ISO.
  • EDK2-RK3588 does not support CM3588, but I don’t see any reasons to why it couldn’t
    • It seems they rely on Armbian for the device tree files, and armbian does have support for this board.

So going forward I think we need to add support for the CM3588 in EDK2-RK3588, and then everything will Just Work™ (fingers crossed).

1 Like

I have created an issue here: Board request: NanoPc CM3588 NAS · Issue #142 · edk2-porting/edk2-rk3588 · GitHub

1 Like

This is great, thank you for requesting support for the board.
Now let’s hope they respond with adding support.