diff options
Diffstat (limited to 'nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix')
-rw-r--r-- | nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix b/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix new file mode 100644 index 000000000000..47f25a9c2b1b --- /dev/null +++ b/nixos/modules/system/boot/loader/raspberrypi/builder_uboot.nix @@ -0,0 +1,34 @@ +{ config, pkgs, configTxt }: + +let + cfg = config.boot.loader.raspberryPi; + isAarch64 = pkgs.stdenv.isAarch64; + + uboot = + if cfg.version == 1 then + pkgs.ubootRaspberryPi + else if cfg.version == 2 then + pkgs.ubootRaspberryPi2 + else + if isAarch64 then + pkgs.ubootRaspberryPi3_64bit + else + pkgs.ubootRaspberryPi3_32bit; + + extlinuxConfBuilder = + import ../generic-extlinux-compatible/extlinux-conf-builder.nix { + inherit pkgs; + }; +in +pkgs.substituteAll { + src = ./builder_uboot.sh; + isExecutable = true; + inherit (pkgs) bash; + path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep]; + firmware = pkgs.raspberrypifw; + inherit uboot; + inherit configTxt; + inherit extlinuxConfBuilder; + version = cfg.version; +} + |