From 03c9a1fb337c10fbf5a5e0287b5c6a340efd8b0a Mon Sep 17 00:00:00 2001 From: Mathijs Kwik Date: Wed, 4 Sep 2013 06:49:22 +0200 Subject: [PATCH] linux 3.11 works fine for me, but nvidia binary driver fails once again --- pkgs/os-specific/linux/kernel/common-config.nix | 4 +++- pkgs/os-specific/linux/kernel/linux-3.11.nix | 17 +++++++++++++++++ pkgs/top-level/all-packages.nix | 15 ++++++++++++++- 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 pkgs/os-specific/linux/kernel/linux-3.11.nix diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 90210b8d5eb..7f75c046ae5 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -103,7 +103,9 @@ with stdenv.lib; FB_SIS_300 y FB_SIS_315 y FB_3DFX_ACCEL y - FB_GEODE y + ${optionalString (versionOlder version "3.9" || stdenv.system == "i686-linux") '' + FB_GEODE y + ''} # Video configuration. # Enable KMS for devices whose X.org driver supports it. diff --git a/pkgs/os-specific/linux/kernel/linux-3.11.nix b/pkgs/os-specific/linux/kernel/linux-3.11.nix new file mode 100644 index 00000000000..34b2d488289 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-3.11.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, ... } @ args: + +import ./generic.nix (args // rec { + version = "3.11"; + modDirVersion = "3.11.0"; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v3.x/linux-${version}.tar.xz"; + sha256 = "1yfpa4fzhsn4r5dwkcf3azy0vqdms865jaikn3fdwbabmpqchgl0"; + }; + + features.iwlwifi = true; + features.efiBootStub = true; + features.needsCifsUtils = true; + features.canDisableNetfilterConntrackHelpers = true; + features.netfilterRPFilter = true; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fd98f5421b9..8396fd60c1a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6492,6 +6492,18 @@ let ]; }; + linux_3_11 = makeOverridable (import ../os-specific/linux/kernel/linux-3.11.nix) { + inherit fetchurl stdenv perl mktemp bc kmod ubootChooser; + kernelPatches = + [ + kernelPatches.sec_perm_2_6_24 + ] ++ lib.optionals (platform.kernelArch == "mips") + [ kernelPatches.mips_fpureg_emu + kernelPatches.mips_fpu_sigill + kernelPatches.mips_ext3_n32 + ]; + }; + /* 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 @@ -6613,8 +6625,9 @@ let linuxPackages_3_6_rpi = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_6_rpi linuxPackages_3_6_rpi); linuxPackages_3_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_9 linuxPackages_3_9); linuxPackages_3_10 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_10 linuxPackages_3_10); + linuxPackages_3_11 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_3_11 linuxPackages_3_11); # Update this when adding a new version! - linuxPackages_latest = pkgs.linuxPackages_3_10; + linuxPackages_latest = pkgs.linuxPackages_3_11; # The current default kernel / kernel modules. linux = linuxPackages.kernel;