diff options
Diffstat (limited to 'modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix')
-rw-r--r-- | modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix b/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix new file mode 100644 index 000000000000..02075891677d --- /dev/null +++ b/modules/nixos-apple-silicon/apple-silicon-support/packages/uboot-asahi/default.nix @@ -0,0 +1,43 @@ +{ lib +, fetchFromGitHub +, buildUBoot +, m1n1 +}: + +(buildUBoot rec { + src = fetchFromGitHub { + # tracking: https://pagure.io/fedora-asahi/uboot-tools/commits/main + owner = "AsahiLinux"; + repo = "u-boot"; + rev = "asahi-v2023.07.02-4"; + hash = "sha256-M4qkEyNgwV2AKSr5VzPGfhHo1kGy8Tw8TfyP36cgYjc="; + }; + version = "2023.07.02.asahi4-1"; + + defconfig = "apple_m1_defconfig"; + extraMeta.platforms = [ "aarch64-linux" ]; + filesToInstall = [ + "u-boot-nodtb.bin.gz" + "m1n1-u-boot.bin" + ]; + extraConfig = '' + CONFIG_IDENT_STRING=" ${version}" + CONFIG_VIDEO_FONT_4X6=n + CONFIG_VIDEO_FONT_8X16=n + CONFIG_VIDEO_FONT_SUN12X22=n + CONFIG_VIDEO_FONT_16X32=y + ''; +}).overrideAttrs (o: { + # nixos's downstream patches are not applicable + patches = [ + ]; + + # DTC= flag somehow breaks DTC compilation so we remove it + makeFlags = builtins.filter (s: (!(lib.strings.hasPrefix "DTC=" s))) o.makeFlags; + + preInstall = '' + # compress so that m1n1 knows U-Boot's size and can find things after it + gzip -n u-boot-nodtb.bin + cat ${m1n1}/build/m1n1.bin arch/arm/dts/t[68]*.dtb u-boot-nodtb.bin.gz > m1n1-u-boot.bin + ''; +}) |