summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/misc/uboot/default.nix25
-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
-rw-r--r--pkgs/top-level/all-packages.nix1
5 files changed, 38 insertions, 24 deletions
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index 4cf1748bad44..9486a504ac39 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -7,8 +7,8 @@ let
   # Various changes for 64-bit sunxi boards, (hopefully) destined for 2018.05
   sunxiPatch = fetchpatch {
     name = "sunxi.patch";
-    url = "https://github.com/u-boot/u-boot/compare/v2018.03...dezgeg:2018-03-sunxi.patch";
-    sha256 = "1pqn7c6c06hfygwpcgaraqvqxcjhz99j0rx5psfhj8igy0qvk2dq";
+    url = "https://github.com/u-boot/u-boot/compare/v2018.05...dezgeg:2018-05-sunxi.patch";
+    sha256 = "1dfv4s1f71iv80vjxgyghv4pcwjv4mjphk75a8hfl3jdbpd66d36";
   };
 
   buildUBoot = { filesToInstall
@@ -21,21 +21,21 @@ let
            stdenv.mkDerivation (rec {
 
     name = "uboot-${defconfig}-${version}";
-    version = "2018.03";
+    version = "2018.05";
 
     src = fetchurl {
       url = "ftp://ftp.denx.de/pub/u-boot/u-boot-${version}.tar.bz2";
-      sha256 = "1z9x635l5164c5hnf7qs19w7j3qghbkgs7rpn673dm898i9pfx3y";
+      sha256 = "0j60p4iskzb4hamxgykc6gd7xchxfka1zwh8hv08r9rrc4m3r8ad";
     };
 
     patches = [
       (fetchpatch {
-        url = https://github.com/dezgeg/u-boot/commit/rpi-2017-11-patch1.patch;
-        sha256 = "067yq55vv1slv4xy346px7h329pi14abdn04chg6s1s6hmf6c1x9";
+        url = https://github.com/dezgeg/u-boot/commit/rpi-2018-05-patch1.patch;
+        sha256 = "0xvw16mp6mm36987rd5yb8bw0n5b3p1gq35wch2gbj15wx55450p";
       })
       (fetchpatch {
-        url = https://github.com/dezgeg/u-boot/commit/rpi-2017-11-patch2.patch;
-        sha256 = "0bbw0q027xvzvdxxvpzjajg4rm30a8mb7z74b6ma9q0l7y7bi0c4";
+        url = https://github.com/dezgeg/u-boot/commit/rpi-2018-05-patch2.patch;
+        sha256 = "0q1a5l5rfgddncxrjk59qr1f5587dwbvcf6z15bsfl2invs19m2b";
       })
       (fetchpatch {
         url = https://github.com/dezgeg/u-boot/commit/pythonpath-2018-03.patch;
@@ -100,8 +100,7 @@ in rec {
     hardeningDisable = [];
     dontStrip = false;
     extraMeta.platforms = stdenv.lib.platforms.linux;
-    # build tools/kwboot
-    extraMakeFlags = [ "CONFIG_KIRKWOOD=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
+    extraMakeFlags = [ "HOST_TOOLS_ALL=y" "CROSS_BUILD_TOOLS=1" "NO_SDL=1" "tools" ];
     postConfigure = ''
       sed -i '/CONFIG_SYS_TEXT_BASE/c\CONFIG_SYS_TEXT_BASE=0x00000000' .config
     '';
@@ -218,6 +217,12 @@ in rec {
     filesToInstall = ["u-boot.bin"];
   };
 
+  ubootRaspberryPiZero = buildUBoot rec {
+    defconfig = "rpi_0_w_defconfig";
+    extraMeta.platforms = ["armv6l-linux"];
+    filesToInstall = ["u-boot.bin"];
+  };
+
   ubootSheevaplug = buildUBoot rec {
     defconfig = "sheevaplug_defconfig";
     extraMeta.platforms = ["armv5tel-linux"];
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
   '';
 })
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 565223728cc6..823aa855285c 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -14139,6 +14139,7 @@ with pkgs;
     ubootRaspberryPi2
     ubootRaspberryPi3_32bit
     ubootRaspberryPi3_64bit
+    ubootRaspberryPiZero
     ubootSheevaplug
     ubootSopine
     ubootUtilite