mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-22 14:45:27 +00:00
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.
This commit is contained in:
parent
c841c3e2c6
commit
f9197b9f63
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue