diff --git a/linux_zynq.nix b/linux_zynq.nix new file mode 100644 index 0000000..7d4be9e --- /dev/null +++ b/linux_zynq.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, perl, buildLinux, ... } @ args: + +let + modDirVersion = "6.1.58"; + # tag = "1.20161020-1"; +in +stdenv.lib.overrideDerivation (import "${pkgs.path}/pkgs/os-specific/linux/kernel/generic.nix" (args // rec { + version = "${modDirVersion}"; + inherit modDirVersion; + + src = fetchFromGitHub { + owner = "Xilinx"; + repo = "linux-xlnx"; + rev = "c8b3583bc86352009c6ac61e2ced0e12118f8ebb"; + hash = ""; + }; + + # features.iwlwifi = true; + # features.needsCifsUtils = true; + # features.canDisableNetfilterConntrackHelpers = true; + # features.netfilterRPFilter = true; + +})) (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=""/' + ''; + + # 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. + # copyDTB() { + # if [ -f "$out/dtbs/$1" ]; then + # cp -v "$out/dtbs/$1" "$out/dtbs/$2" + # fi + # } + + # # I am not sure if all of these are correct... + # 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 + # copyDTB bcm2708-rpi-b-plus.dtb bcm2835-rpi-a-plus.dtb + # 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 + # copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb + # copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb + # ''; +})