Flake to build images for Rockhip based computers that require custom uboot firmware. Utilizes sd-card installer build infrastructure from nixpkgs.
- Flakes are automaticaly updated every Monday. Because of that latest commit in the main branch may fail to build. Check out a tag associated with the latest release if you are looking for a tested revision of the flake.
Check out flake.nix for the list of supported configurations. To build an
installer sd-card image for desired platform using flake execute
nix build github:nabam/nixos-rockchip#Quartz64A or nix build .#Quartz64A
(Quartz 64 A in this example).
$ nix build github:nabam/nixos-rockchip#Quartz64A
$ sfdisk --dump result/sd-image/nixos-image-sd-card-*.img
label: dos
label-id: 0x2178694e
device: result/sd-image/nixos-image-sd-card-XXX-aarch64-linux.img
unit: sectors
sector-size: 512
result/sd-image/nixos-image-sd-card-XXX-aarch64-linux.img1 : start= 16384, size= 16384, type=da
result/sd-image/nixos-image-sd-card-XXX-aarch64-linux.img2 : start= 32768, size= 5585984, type=83, bootableBuilt image then can be copied to sdcard or other memory:
$ sudo dd if=./result/sd-image/nixos-image-sd-card-*.img of=/dev/mmcblk0 iflag=direct oflag=direct bs=16M status=progressWhen using installer run sudo NIX_CONFIG="experimental-features = nix-command flakes" nixos-install to get flakes based configuration. Following error will appear otherwise:
error: experimental Nix feature 'flakes' is disabled; use '--extra-experimental-features flakes' to override
Check out the example to see how custom images can be built with
this flake. To build the example run: (cd example && nix flake update && nix build).
Build cache is available on Cachix: nabam-nixos-rockchip. Use it to speed up builds.
Configures custom image build.
Configures installer image build.
Applies device tree overlay to enable SATA port on Quartz64A.
Applies device tree overlay for OrangePI5B
| Board | Attribute | Status |
|---|---|---|
| Quartz64 Model A | Quartz64A | Tested & Works |
| Quartz64 Model B | Quartz64A | Tested & Works |
| SoQuartz Model A | SoQuartzModelA | Tested & Works |
| SoQuartz CM4 | SoQuartzCM4 | Tested & Works |
| SoQuartz Blade | SoQuartzBlade | Tested & Works |
| PineTab2 | PineTab2 | Tested & Works |
| Rock64 | Rock64 | Untested |
| RockPro64 | RockPro64 | Untested |
| ROC PC RK3399 | ROCPCRK3399 | Untested |
| Pinebook Pro | PinebookPro | Untested |
| Orange Pi CM4 | OrangePiCM4 | Untested |
| Orange Pi 5B | OrangePi5B | Needs New Kernel |
| Radxa CM3/CM3 I/O | RadxaCM3IO | Untested |
| Radxa Rock 4 | RadxaRock4 | Tested & Works |
| Radxa Rock4 SE | RadxaRock4SE | Tested & Works |
| Radxa Rock4 C+ | RadxaRock4CPlus | Tested & Works |