diff options
author | Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> | 2018-09-20 16:41:04 +0300 |
---|---|---|
committer | Tuomas Tynkkynen <tuomas.tynkkynen@iki.fi> | 2018-09-24 14:16:46 +0300 |
commit | f9197b9f63da8b6d9244c5a8e99507fdd294dcc5 (patch) | |
tree | 86cb97d477c4488b67a944bf13a7cc6f9777144b /pkgs/os-specific/linux/kernel/linux-rpi.nix | |
parent | c841c3e2c6117549c320faba8ac45e1ca1df4602 (diff) | |
download | nixpkgs-f9197b9f63da8b6d9244c5a8e99507fdd294dcc5.tar nixpkgs-f9197b9f63da8b6d9244c5a8e99507fdd294dcc5.tar.gz nixpkgs-f9197b9f63da8b6d9244c5a8e99507fdd294dcc5.tar.bz2 nixpkgs-f9197b9f63da8b6d9244c5a8e99507fdd294dcc5.tar.lz nixpkgs-f9197b9f63da8b6d9244c5a8e99507fdd294dcc5.tar.xz nixpkgs-f9197b9f63da8b6d9244c5a8e99507fdd294dcc5.tar.zst nixpkgs-f9197b9f63da8b6d9244c5a8e99507fdd294dcc5.zip |
linux_rpi: Extend the logic for not installing unnecessary DTBs
Now ARMv6 and ARMv7 builds avoid installing DTBs for boards where the resulting kernel won't run just like the aarch64 builds already do. Also deduplicates the logic a bit.
Diffstat (limited to 'pkgs/os-specific/linux/kernel/linux-rpi.nix')
-rw-r--r-- | pkgs/os-specific/linux/kernel/linux-rpi.nix | 23 |
1 files changed, 9 insertions, 14 deletions
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix index 26fb595ad59..d95c2caa2cf 100644 --- a/pkgs/os-specific/linux/kernel/linux-rpi.nix +++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix @@ -1,10 +1,10 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args: +{ stdenv, lib, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args: let modDirVersion = "4.14.62"; tag = "1.20180817"; in -stdenv.lib.overrideDerivation (buildLinux (args // rec { +lib.overrideDerivation (buildLinux (args // rec { version = "${modDirVersion}-${tag}"; inherit modDirVersion; @@ -34,20 +34,13 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec { # 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 + postFixup = '' + dtbDir=${if stdenv.isAarch64 then "$out/dtbs/broadcom" else "$out/dtbs"} + rm $dtbDir/bcm283*.dtb copyDTB() { - cp -v "$out/dtbs/broadcom/$1" "$out/dtbs/broadcom/$2" + cp -v "$dtbDir/$1" "$dtbDir/$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" - } - + '' + 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-b.dtb bcm2835-rpi-a.dtb @@ -57,7 +50,9 @@ stdenv.lib.overrideDerivation (buildLinux (args // rec { copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb + '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux"]) '' copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb + '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux" "aarch64-linux"]) '' copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb copyDTB bcm2710-rpi-cm3.dtb bcm2837-rpi-cm3.dtb |