1{ stdenv, fetchFromGitHub, perl, buildLinux, ... } @ args:
2
3let
4 modDirVersion = "4.4.13";
5 tag = "1.20160620-1";
6in
7stdenv.lib.overrideDerivation (import ./generic.nix (args // rec {
8 version = "${modDirVersion}-${tag}";
9 inherit modDirVersion;
10
11 src = fetchFromGitHub {
12 owner = "raspberrypi";
13 repo = "linux";
14 rev = "raspberrypi-kernel_${tag}";
15 sha256 = "0bydlzmd9mar07j6dihhzn1xm6vpn92y33vf1qsdkl3hjil6brfc";
16 };
17
18 features.iwlwifi = true;
19
20 extraMeta.hydraPlatforms = [];
21})) (oldAttrs: {
22 postConfigure = ''
23 # The v7 defconfig has this set to '-v7' which screws up our modDirVersion.
24 sed -i $buildRoot/.config -e 's/^CONFIG_LOCALVERSION=.*/CONFIG_LOCALVERSION=""/'
25 '';
26
27 postFixup = ''
28 # Make copies of the DTBs so that U-Boot finds them, as it is looking for the upstream names.
29 # This is ugly as heck.
30 copyDTB() {
31 if [ -f "$out/dtbs/$1" ]; then
32 cp -v "$out/dtbs/$1" "$out/dtbs/$2"
33 fi
34 }
35
36 # I am not sure if all of these are correct...
37 copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-a.dtb
38 copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b.dtb
39 copyDTB bcm2708-rpi-b.dtb bcm2835-rpi-b-rev2.dtb
40 copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-a-plus.dtb
41 copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-b-plus.dtb
42 copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-zero.dtb
43 copyDTB bcm2708-rpi-cm.dtb bcm2835-rpi-cm.dtb
44 copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
45 copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
46 '';
47})