diff options
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/misc/uboot/default.nix | 25 | ||||
-rw-r--r-- | pkgs/os-specific/linux/firmware/raspberrypi/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/generic.nix | 5 | ||||
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-rpi.nix | 27 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 1 |
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 |