Flake to build images for Rockhip based computers that require custom uboot firmware. Utilizes sd-card installer build infrastructure from nixpkgs.
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-sd-image-*.img
label: dos
label-id: 0x2178694e
device: result/sd-image/nixos-sd-image-22.11.20230302.96e1871-aarch64-linux.img
unit: sectors
sector-size: 512
result/sd-image/nixos-sd-image-22.11.20230302.96e1871-aarch64-linux.img1 : start= 16384, size= 16384, type=da
result/sd-image/nixos-sd-image-22.11.20230302.96e1871-aarch64-linux.img2 : start= 32768, size= 5585984, type=83, bootable
Built image then can be copied to sdcard or other memory:
$ sudo dd if=./result/sd-image/nixos-sd-image-*.img of=/dev/mmcblk0 iflag=direct oflag=direct bs=16M status=progress
To build all images run:
nix build .#Quartz64A .#Quartz64B .#SoQuartzModelA .#SoQuartzCM4 .#SoQuartzBlade .#Rock64 .#RockPro64 .#ROCPCRK3399 .#PinebookPro .#PineTab2
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.
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 |