summary refs log tree commit diff
path: root/pkgs/os-specific/linux/kernel/linux-rpi.nix
diff options
context:
space:
mode:
authorBen Wolsieffer <benwolsieffer@gmail.com>2018-09-10 00:15:51 -0400
committerTuomas Tynkkynen <tuomas.tynkkynen@iki.fi>2018-09-24 14:16:46 +0300
commitc841c3e2c6117549c320faba8ac45e1ca1df4602 (patch)
tree3d473eb0f9cd6fe0aa46a02ef36b528a3d8d95b3 /pkgs/os-specific/linux/kernel/linux-rpi.nix
parent21b29cdd43e01f65b98c2e5a045744789f8ea58a (diff)
downloadnixpkgs-c841c3e2c6117549c320faba8ac45e1ca1df4602.tar
nixpkgs-c841c3e2c6117549c320faba8ac45e1ca1df4602.tar.gz
nixpkgs-c841c3e2c6117549c320faba8ac45e1ca1df4602.tar.bz2
nixpkgs-c841c3e2c6117549c320faba8ac45e1ca1df4602.tar.lz
nixpkgs-c841c3e2c6117549c320faba8ac45e1ca1df4602.tar.xz
nixpkgs-c841c3e2c6117549c320faba8ac45e1ca1df4602.tar.zst
nixpkgs-c841c3e2c6117549c320faba8ac45e1ca1df4602.zip
linux_rpi: add support for Raspberry Pi 3
Diffstat (limited to 'pkgs/os-specific/linux/kernel/linux-rpi.nix')
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix15
1 files changed, 12 insertions, 3 deletions
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index d061e41eb2f..26fb595ad59 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -18,6 +18,7 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
   defconfig = {
     "armv6l-linux" = "bcmrpi_defconfig";
     "armv7l-linux" = "bcm2709_defconfig";
+    "aarch64-linux" = "bcmrpi3_defconfig";
   }.${stdenv.hostPlatform.system} or (throw "linux_rpi not supported on '${stdenv.hostPlatform.system}'");
 
   features = {
@@ -31,9 +32,17 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
     sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
   '';
 
-  postFixup = ''
-    # Make copies of the DTBs named after the upstream names so that U-Boot finds them.
-    # This is ugly as heck, but I don't know a better solution so far.
+  # Make copies of the DTBs named after the upstream names so that U-Boot finds them.
+  # This is ugly as heck, but I don't know a better solution so far.
+  postFixup = if stdenv.hostPlatform.system == "aarch64-linux" then ''
+    rm $out/dtbs/broadcom/bcm283*.dtb
+    copyDTB() {
+      cp -v "$out/dtbs/broadcom/$1" "$out/dtbs/broadcom/$2"
+    }
+
+    copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
+    copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
+  '' else ''
     rm $out/dtbs/bcm283*.dtb
     copyDTB() {
       cp -v "$out/dtbs/$1" "$out/dtbs/$2"