diff --git a/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix new file mode 100644 index 00000000000..0dc6378fff3 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-rpi-3.6.nix @@ -0,0 +1,42 @@ +args @ { + stdenv, fetchgit, extraConfig ? "" , perl, mktemp, module_init_tools, ... +}: + +let + configWithPlatform = kernelPlatform : + '' + ${if kernelPlatform ? kernelExtraConfig then kernelPlatform.kernelExtraConfig else ""} + ${extraConfig} + ''; +in + +import ./generic.nix ( + + rec { + version = "3.6.y"; + testing = false; + + preConfigure = '' + substituteInPlace scripts/depmod.sh --replace '-b "$INSTALL_MOD_PATH"' "" + ''; + + src = fetchgit { + url = https://github.com/raspberrypi/linux; + rev = "6e1f8bce970043a658d15f9350eb85152fd5fc4e"; + sha256 = ""; + }; + + config = configWithPlatform stdenv.platform; + configCross = configWithPlatform stdenv.cross.platform; + + features.iwlwifi = true; + #features.efiBootStub = true; + #features.needsCifsUtils = true; + #features.canDisableNetfilterConntrackHelpers = true; + #features.netfilterRPFilter = true; + + fetchurl = null; + } + + // removeAttrs args ["extraConfig"] +) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 895d9db36c1..65d49f47b61 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5860,6 +5860,10 @@ let ]; }; + linux_3_6_rpi = makeOverridable (import ../os-specific/linux/kernel/linux-rpi-3.6.nix) { + inherit fetchgit stdenv perl mktemp module_init_tools ubootChooser; + }; + /* Linux kernel modules are inherently tied to a specific kernel. So rather than provide specific instances of those packages for a specific kernel, we have a function that builds those packages @@ -5987,6 +5991,7 @@ let linuxPackages_3_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_4 pkgs.linuxPackages_3_4); linuxPackages_3_5 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_5 pkgs.linuxPackages_3_5); linuxPackages_3_6 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6 pkgs.linuxPackages_3_6); + linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi pkgs.linuxPackages_3_6_rpi); linuxPackages_3_7 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_7 pkgs.linuxPackages_3_7); # The current default kernel / kernel modules.