nix-files/pkgs/additional/ubootRaspberryPi4_64bit/default.nix

40 lines
1.1 KiB
Nix

{ buildUBoot, fetchurl }:
(buildUBoot {
# nixos-22.05 is on 2022.01 at time of writing, which lacks rpi-4 dtb.
# TODO: remove this version/src override once upstream bumps u-boot version.
version = "2022.04";
src = fetchurl {
url = "ftp://ftp.denx.de/pub/u-boot/u-boot-2022.04.tar.bz2";
hash = "sha256-aOBlQTkmd44nbsOr0ouzL6gquqSmiY1XDB9I+9sIvNA=";
};
defconfig = "rpi_4_defconfig";
extraMeta.platforms = [ "aarch64-linux" ];
extraConfig = ''
# TODO: this can be removed in 2022.04
CONFIG_DEFAULT_DEVICE_TREE="bcm2711-rpi-4-b"
# enable some builtin commands to aid in debugging, while we're here
CONFIG_CMD_CONFIG=y
CONFIG_CMD_EFIDEBUG=y
CONFIG_CMD_GPT=y
CONFIG_CMD_LOG=y
CONFIG_CMD_READ=y
CONFIG_CMD_USB_MASS_STORAGE=y
CONFIG_LOG_MAX_LEVEL=7
CONFIG_CMD_LSBLK=y
'';
extraMakeFlags = [
"u-boot.dtb"
"u-boot.bin"
];
filesToInstall = [ "u-boot.bin" "u-boot.dtb" ];
postInstall = ''
mv $out/u-boot.dtb $out/bcm2711-rpi-4-b.dtb
'';
extraPatches = [
# enable booting from > 2 TiB drives
./01-skip-lba-check.patch
# ./03-verbose-log.patch
];
})