summary refs log tree commit diff
path: root/pkgs/os-specific
diff options
context:
space:
mode:
authorTuomas Tynkkynen <tuomas@tuxera.com>2018-06-01 20:08:08 +0300
committerTuomas Tynkkynen <tuomas@tuxera.com>2018-06-01 20:08:08 +0300
commite864247f08be32197953b7da5ba5c0626068e9a2 (patch)
tree77116650ae5d2bcc3538f93932232cfded762349 /pkgs/os-specific
parent6c76c4c6d8cfb4575d913367a2088d643914c726 (diff)
parenta8c898be6071c461961b4572afe3b72b7c831fc7 (diff)
downloadnixlib-e864247f08be32197953b7da5ba5c0626068e9a2.tar
nixlib-e864247f08be32197953b7da5ba5c0626068e9a2.tar.gz
nixlib-e864247f08be32197953b7da5ba5c0626068e9a2.tar.bz2
nixlib-e864247f08be32197953b7da5ba5c0626068e9a2.tar.lz
nixlib-e864247f08be32197953b7da5ba5c0626068e9a2.tar.xz
nixlib-e864247f08be32197953b7da5ba5c0626068e9a2.tar.zst
nixlib-e864247f08be32197953b7da5ba5c0626068e9a2.zip
Merge branch 'plat-fix-for-merge-2' into master
Diffstat (limited to 'pkgs/os-specific')
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix27
3 files changed, 22 insertions, 14 deletions
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index d00f1b148374..344d224df948 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "raspberrypi-firmware-${version}";
-  version = "1.20180328";
+  version = "1.20180417";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "firmware";
     rev = version;
-    sha256 = "19h4lv11idy268pyrq21c5gsff77d5xr9xjkpmzfpcq34gjh3x21";
+    sha256 = "17mnnhni0wgdnc3mw60nfhcj9v6p5dwcqkwnbpvzczab3r2hziji";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 2b44ff51ad0a..249a1ea5cefa 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -12,6 +12,9 @@
 , # The kernel version.
   version
 
+, # Allows overriding the default defconfig
+  defconfig ? null
+
 , # Overrides to the kernel config.
   extraConfig ? ""
 
@@ -85,7 +88,7 @@ let
 
     platformName = hostPlatform.platform.name;
     # e.g. "defconfig"
-    kernelBaseConfig = hostPlatform.platform.kernelBaseConfig;
+    kernelBaseConfig = if defconfig != null then defconfig else hostPlatform.platform.kernelBaseConfig;
     # e.g. "bzImage"
     kernelTarget = hostPlatform.platform.kernelTarget;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index a96a910c68c9..d869ea090360 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -1,8 +1,8 @@
 { stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
 let
-  modDirVersion = "4.9.59";
-  tag = "1.20171029";
+  modDirVersion = "4.14.34";
+  tag = "1.20180417";
 in
 stdenv.lib.overrideDerivation (buildLinux (args // rec {
   version = "${modDirVersion}-${tag}";
@@ -12,9 +12,14 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
     owner = "raspberrypi";
     repo = "linux";
     rev = "raspberrypi-kernel_${tag}-1";
-    sha256 = "19lb1gxz21x1d5zdznzqfq60kxg7iqmyl6l0mb9qg2vrl8fcgnxk";
+    sha256 = "1xgisvmcq50lpnd4rpqhaw52399n0rx2n8mp6k0bf8qm1g3vnza2";
   };
 
+  defconfig = {
+    "armv6l-linux" = "bcmrpi_defconfig";
+    "armv7l-linux" = "bcm2709_defconfig";
+  }.${stdenv.system} or (throw "linux_rpi not supported on '${stdenv.system}'");
+
   features = {
     efiBootStub = false;
   } // (args.features or {});
@@ -27,16 +32,15 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
   '';
 
   postFixup = ''
-    # Make copies of the DTBs so that U-Boot finds them, as it is looking for the upstream names.
-    # This is ugly as heck.
+    # 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.
+    rm $out/dtbs/bcm283*.dtb
     copyDTB() {
-      if [ -f "$out/dtbs/$1" ]; then
-        cp -v "$out/dtbs/$1" "$out/dtbs/$2"
-      fi
+      cp -v "$out/dtbs/$1" "$out/dtbs/$2"
     }
 
-    # I am not sure if all of these are correct...
-    copyDTB bcm2708-rpi-0-w.dts bcm2835-rpi-zero.dtb
+    copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb
+    copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb
     copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
@@ -46,6 +50,7 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec {
     copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
     copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
     copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
-    # bcm2710-rpi-cm3.dts is yet unknown.
+    copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
+    copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
   '';
 })