aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix')
-rw-r--r--nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix35
1 files changed, 22 insertions, 13 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 6c24311338a..f8ad6b37a19 100644
--- a/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/nixpkgs/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -1,8 +1,8 @@
-{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args:
+{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, rpiVersion, ... } @ args:
let
- modDirVersion = "4.14.98";
- tag = "1.20190215";
+ modDirVersion = "4.19.71";
+ tag = "1.20190906";
in
lib.overrideDerivation (buildLinux (args // {
version = "${modDirVersion}-${tag}";
@@ -11,25 +11,33 @@ lib.overrideDerivation (buildLinux (args // {
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "linux";
- rev = "raspberrypi-kernel_${tag}-1";
- sha256 = "1gc4x7p82m2v1jhahhyl7qfdkflj71ly6p0fpc1vf9sk13hbwgj2";
+ rev = "9532eb3c84d8d952ef28da3d135683ac01adc9b8";
+ sha256 = "0168wz8kkdzbyha41iqlgn1z1kcy4smg89rgxkgadzq78y7fglpl";
};
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}'");
+ "1" = "bcmrpi_defconfig";
+ "2" = "bcm2709_defconfig";
+ "3" = "bcmrpi3_defconfig";
+ "4" = "bcm2711_defconfig";
+ }.${toString rpiVersion};
features = {
efiBootStub = false;
} // (args.features or {});
- extraMeta.hydraPlatforms = [ "aarch64-linux" ];
-} // (args.argsOverride or {}))) (oldAttrs: {
+ extraMeta = if (rpiVersion < 3) then {
+ platforms = with lib.platforms; [ arm ];
+ hydraPlatforms = [];
+ } else {
+ platforms = with lib.platforms; [ arm aarch64 ];
+ hydraPlatforms = [ "aarch64-linux" ];
+ };
+})) (oldAttrs: {
postConfigure = ''
# The v7 defconfig has this set to '-v7' which screws up our modDirVersion.
sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
+ sed -i $buildRoot/include/config/auto.conf -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
'';
# Make copies of the DTBs named after the upstream names so that U-Boot finds them.
@@ -41,8 +49,8 @@ lib.overrideDerivation (buildLinux (args // {
cp -v "$dtbDir/$1" "$dtbDir/$2"
}
'' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv6l-linux"]) ''
- copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero.dtb
- copyDTB bcm2708-rpi-0-w.dtb bcm2835-rpi-zero-w.dtb
+ copyDTB bcm2708-rpi-zero-w.dtb bcm2835-rpi-zero.dtb
+ copyDTB bcm2708-rpi-zero-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
@@ -57,5 +65,6 @@ lib.overrideDerivation (buildLinux (args // {
copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-a-plus.dtb
copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb
+ copyDTB bcm2711-rpi-4-b.dtb bcm2838-rpi-4-b.dtb
'';
})