37 lines
893 B
Nix
37 lines
893 B
Nix
{ pkgs, version, configTxt }:
|
|
|
|
let
|
|
isAarch64 = pkgs.stdenv.hostPlatform.isAarch64;
|
|
|
|
uboot =
|
|
if version == 0 then
|
|
pkgs.ubootRaspberryPiZero
|
|
else if version == 1 then
|
|
pkgs.ubootRaspberryPi
|
|
else if version == 2 then
|
|
pkgs.ubootRaspberryPi2
|
|
else if version == 3 then
|
|
if isAarch64 then
|
|
pkgs.ubootRaspberryPi3_64bit
|
|
else
|
|
pkgs.ubootRaspberryPi3_32bit
|
|
else
|
|
throw "U-Boot is not yet supported on the raspberry pi 4.";
|
|
|
|
extlinuxConfBuilder =
|
|
import ../generic-extlinux-compatible/extlinux-conf-builder.nix {
|
|
pkgs = pkgs.buildPackages;
|
|
};
|
|
in
|
|
pkgs.substituteAll {
|
|
src = ./uboot-builder.sh;
|
|
isExecutable = true;
|
|
inherit (pkgs) bash;
|
|
path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep];
|
|
firmware = pkgs.raspberrypifw;
|
|
inherit uboot;
|
|
inherit configTxt;
|
|
inherit extlinuxConfBuilder;
|
|
inherit version;
|
|
}
|
|
|