4 ms·
I went through hell trying to get a NanoPC-T4 (RK3399) board to work with NixOS. Getting everything working took up roughly a month of my free time and required
by tmountain 4y ago
I went through hell trying to get a NanoPC-T4 (RK3399) board to work with NixOS. Getting everything working took up roughly a month of my free time and required engagement with multiple communities (including Armbian) and a bunch of digging to cobble together bits of information into a coherent build process (reading shell scripts from distros, etc).
I did finally get everything working, and I wrote some documentation to capture it.
https://nixos.wiki/wiki/NixOS_on_ARM/NanoPC-T4 https://nixos.wiki/wiki/NixOS_on_ARM/NanoPC-T4
What I learned in the process is that Nix is a great resource to see how to get lots of Arm chipsets to bootstrap with Linux. Specifically, the uboot config file.
https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/uboot/default.nix https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/uboot...
By reading that, you can get a good view into what proprietary blobs and tools are necessary to get various boards working. As an added bonus, since Nix is declarative and versioned, weird boards should continue to work for the long haul.
Ironically, once I got the board up and running, I completely lost interest. Turns out the challenge of getting it to work was scratching a particular itch, not actually using it in practice.