diff --git a/pkgs/os-specific/linux/kernel/linux-2.6.31-rc2.nix b/pkgs/os-specific/linux/kernel/linux-2.6.31-rc2.nix new file mode 100644 index 00000000000..86ea8bacdc7 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-2.6.31-rc2.nix @@ -0,0 +1,31 @@ +args @ {stdenv, fetchurl, userModeLinux ? false, oldI686 ? false, ...}: + +assert !userModeLinux; + +import ./generic.nix ( + + let + baseVersion = "2.6.30"; + in + + rec { + version = "2.6.31-rc2"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v2.6/linux-${baseVersion}.tar.bz2"; + sha256 = "d7b9f19b92fd5c693c16cd62f441d051b699f28ec6a175d1b464e58bacd8c78f"; + }; + + features = { + iwlwifi = true; + }; + + config = + if stdenv.system == "i686-linux" then if oldI686 then ./config-2.6.31-rc3-all-mod-i686-older else + ./config-2.6.31-rc3-all-mod-i686 else + if stdenv.system == "x86_64-linux" then ./config-2.6.31-rc3-all-mod-amd64 else + abort "No kernel configuration for your platform!"; + } + + // args +) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d0f53a5677..6b090462f06 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5050,6 +5050,23 @@ let oldI686 = true; }; + kernel_2_6_31_rc2 = makeOverridable (import ../os-specific/linux/kernel/linux-2.6.31-rc2.nix) { + inherit fetchurl stdenv perl mktemp module_init_tools; + kernelPatches = [ + { name = "rc2 patch"; + patch = fetchurl { + url = "http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.31-rc2.bz2"; + sha256 = "1xwsa9z4saz2yrsj44lcabcvqarmvrc6mgpi4xf9vlfq3pn0bfvr"; + }; + } + ]; + }; + + # For older x86 processors without PAE/PAT + kernel_2_6_31_rc2_old_i686 = kernel_2_6_31_rc2.override { + oldI686 = true; + }; + /* 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 @@ -5157,6 +5174,8 @@ let kernelPackages_2_6_29 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_29); kernelPackages_2_6_31_rc3 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_rc3); kernelPackages_2_6_31_rc3_old_i686 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_rc3_old_i686); + kernelPackages_2_6_31_rc2 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_rc2); + kernelPackages_2_6_31_rc2_old_i686 = recurseIntoAttrs (kernelPackagesFor kernel_2_6_31_rc2_old_i686); # The current default kernel / kernel modules. kernelPackages = kernelPackages_2_6_28; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 5f42d756bbf..c0fae9a4a5d 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -508,6 +508,16 @@ in { kernel = ["i686-linux"]; }; + kernelPackages_2_6_31_rc2 = { + aufs = linux; + kernel = linux; + }; + + kernelPackages_2_6_31_rc2_old_i686 = { + aufs = ["i686-linux"]; + kernel = ["i686-linux"]; + }; + strategoPackages = { sdf = all; strategoxt = all;