Hello there,
Im trying to install nixos on this board i bought but im having some confusion on the configuration. Im trying to follow the instructions on https://nixos.wiki/wiki/NixOS_on_ARM#Installation
The objective was to define and cross-compile an sd-image to install nixos on the onboard eMMC.
But from what i understood, there is no dts for this board on linux kernel (lore.kernel.org opi3lts dts discussion), and no u-boot defined on nixos.
I figured i could get a derivation on armbian but im so confused how to build these patches (GitHub - armbian/build: The official build framework for the Armbian Linux distribution. This repository contains the complete toolchain and scripts required to compile custom OS images from source, including kernel configuration, U-Boot handling, and board-specific tweaks for various ARM and ARM64 single-board computers. · GitHub)
I feel like im doing everything wrong, does anyone have experience installing nixos on a SoCs?
Using claude i went as far as writing this: outputs/hosts/opi3LTS/image/_kernel.nix · feat/host-opi3LTS · Felipe Pinto / nixos · GitLab
My experience is that I have NixOS running on a Radxa Zero 3W.
A quick google shows that there are a few repositories out there with NixOS configurations for the Orange PI 3 LTS with patches to address its lack of support in the mainline kernel.
For example, here is one where u-boot is patched.
I would review this, it should provide a good basis for getting NixOS working on your device.
Disclaimer: I have not tested the linked configuration and provide it here for reference purposes only.
Yeah i should be careful to check the official wiki.
As much as i wanted a simple install if I hope to have everything working i will need to define things specific to be board, such as others have done, also as much as that opi zero plus2 H5 is similar, its different enough that i would need to rewrite the flake reconfiguring and re-selecting patches specific to the board, and even if i dont mind doing that, i have no idea how to do it.
I have spotted that repo, he also has a flake for his systems where he uses it, i used as a reference to try to implement my own but its outdated and dont compile anymore.
At first there was a deprecated nixos attribute, i already fixed it and submitted a pr.
But then the following error is on the patches, apparently they are outdated and i need to update and figure out the new patches from armbian, im trying to do that but im struggling
Yes, if you update the flake.lock file to point to the latest or more recent channels you will have to update the patches as the version of the patched dependencies will have changed and thus their source code is likely different enough in the new version to cause the hunks to not apply cleanly.
You could either:
- update the patches;
- use an outdated deprecated version of NixOS where the patches will likely apply cleanly; or,
- try to override the version of the patched dependencies in the latest channel to selectively use the older versions.
This is one of the main reasons that vendor kernels pick a LTS version and stick with it for the long run.
I see, i guess i will try to update, luckily the repo has some documentation on updating, i forked the repo, now im trying to update the patches and everything i can.