Skip to content

Commit

Permalink
[24.05] Kernel updates for 2024-09-30 (#345562)
Browse files Browse the repository at this point in the history
  • Loading branch information
K900 authored Sep 30, 2024
2 parents 977b020 + 4aef69c commit c8e96cc
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 27 deletions.
38 changes: 30 additions & 8 deletions pkgs/os-specific/linux/kernel/common-config.nix
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,13 @@ let
(stdenv.hostPlatform.isPower && stdenv.hostPlatform.is64bit) ||
(stdenv.hostPlatform.isMips && stdenv.hostPlatform.is64bit));

forceRust = features.rust or false;
kernelSupportsRust = lib.versionAtLeast version "6.7";

# Currently not enabling Rust by default, as upstream requires rustc 1.81
defaultRust = false;
withRust = (forceRust || defaultRust) && kernelSupportsRust;

options = {

debug = {
Expand Down Expand Up @@ -140,6 +147,7 @@ let

# Required to bring up some Bay Trail devices properly
I2C = yes;
I2C_DESIGNWARE_CORE = yes;
I2C_DESIGNWARE_PLATFORM = yes;
PMIC_OPREGION = whenAtLeast "5.10" yes;
INTEL_SOC_PMIC = whenAtLeast "5.10" yes;
Expand Down Expand Up @@ -487,14 +495,16 @@ let
DRM_VC4_HDMI_CEC = yes;
};

# Enables Rust support in the Linux kernel. This is currently not enabled by default, because it occasionally requires
# patching the Linux kernel for the specific Rust toolchain in nixpkgs. These patches usually take a bit
# of time to appear and this would hold up Linux kernel and Rust toolchain updates.
#
# Once Rust in the kernel has more users, we can reconsider enabling it by default.
rust = optionalAttrs ((features.rust or false) && versionAtLeast version "6.7") {
# Enable Rust and features that depend on it
rust = lib.optionalAttrs withRust {
RUST = yes;
GCC_PLUGINS = no;

# These don't technically require Rust but we probably want to get some more testing
# on the whole DRM panic setup before shipping it by default.
DRM_PANIC = whenAtLeast "6.12" yes;
DRM_PANIC_SCREEN = whenAtLeast "6.12" (freeform "kmsg");

DRM_PANIC_SCREEN_QR_CODE = whenAtLeast "6.12" yes;
};

sound = {
Expand Down Expand Up @@ -633,6 +643,7 @@ let
NFS_V4_1 = yes; # NFSv4.1 client support
NFS_V4_2 = yes;
NFS_V4_SECURITY_LABEL = yes;
NFS_LOCALIO = whenAtLeast "6.12" yes;

CIFS_XATTR = yes;
CIFS_POSIX = option yes;
Expand Down Expand Up @@ -884,6 +895,12 @@ let
ZRAM = module;
ZRAM_WRITEBACK = option yes;
ZRAM_MULTI_COMP = whenAtLeast "6.2" yes;
ZRAM_BACKEND_842 = whenAtLeast "6.12" yes;
ZRAM_BACKEND_DEFLATE = whenAtLeast "6.12" yes;
ZRAM_BACKEND_LZ4 = whenAtLeast "6.12" yes;
ZRAM_BACKEND_LZ4HC = whenAtLeast "6.12" yes;
ZRAM_BACKEND_LZO = whenAtLeast "6.12" yes;
ZRAM_BACKEND_ZSTD = whenAtLeast "6.12" yes;
ZRAM_DEF_COMP_ZSTD = whenAtLeast "5.11" yes;
ZSWAP = option yes;
ZSWAP_COMPRESSOR_DEFAULT_ZSTD = whenAtLeast "5.7" (mkOptionDefault yes);
Expand Down Expand Up @@ -962,7 +979,11 @@ let
THRUSTMASTER_FF = yes;
ZEROPLUS_FF = yes;

MODULE_COMPRESS = whenOlder "5.13" yes;
MODULE_COMPRESS = lib.mkMerge [
(whenOlder "5.13" yes)
(whenAtLeast "6.12" yes)
];
MODULE_COMPRESS_ALL = whenAtLeast "6.12" yes;
MODULE_COMPRESS_XZ = yes;

SYSVIPC = yes; # System-V IPC
Expand Down Expand Up @@ -1159,6 +1180,7 @@ let
LIRC = yes;

SCHED_CORE = whenAtLeast "5.14" yes;
SCHED_CLASS_EXT = whenAtLeast "6.12" yes;

LRU_GEN = whenAtLeast "6.1" yes;
LRU_GEN_ENABLED = whenAtLeast "6.1" yes;
Expand Down
20 changes: 10 additions & 10 deletions pkgs/os-specific/linux/kernel/kernels-org.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"testing": {
"version": "6.11-rc7",
"hash": "sha256:17c8vwvra042mib1s60nqqai0s7qc0qkvrf0j7ziqmy2llq8cbxy"
"version": "6.12-rc1",
"hash": "sha256:16zwvjcvgndvr0izx0qs2k7v85nvxwlx6j7y2yrdl3shalsdlmx2"
},
"6.1": {
"version": "6.1.111",
"hash": "sha256:1c7d49kppv8xgqlsrfm1286mnvz8vcnbqqh6zgfca2s13px9hwn4"
"version": "6.1.112",
"hash": "sha256:094z3wfcxqx2rbi072i5frshpy6rdvk39aahwm9nc07vc8sxxn4b"
},
"5.15": {
"version": "5.15.167",
Expand All @@ -24,8 +24,8 @@
"hash": "sha256:0qj106lj554y1kdqj8kwyf7pk9bvrrpgz6s8zyh7d61mk7wws9sf"
},
"6.6": {
"version": "6.6.52",
"hash": "sha256:1f5l6y7abscm01dr740fzvq8r756ar854n0i299smm4rhcsap48m"
"version": "6.6.53",
"hash": "sha256:0yfpyiz57wz9rkwif6n3k2n87waw46ad0h7h0pwhnar53cfihp98"
},
"6.8": {
"version": "6.8.12",
Expand All @@ -36,11 +36,11 @@
"hash": "sha256:08ngskni7d9wi93vlwcmbdg7sb2jl1drhhzn62k9nsrg1r7crrss"
},
"6.10": {
"version": "6.10.11",
"hash": "sha256:15ihkbsj0idwzbvhynjm3kcnkk0alf3xipip8ngib1f1z13a0kgv"
"version": "6.10.12",
"hash": "sha256:1kvkwgnq5gsdqarrdg32qjrbq1dggxp1x2yy2zpsjsaq5y2mhj2j"
},
"6.11": {
"version": "6.11",
"hash": "sha256:0bnbvadm4wvnwzcq319gsgl03ijvvljn7mj8qw87ihpb4p0cdljm"
"version": "6.11.1",
"hash": "sha256:0ggfg3f8nkcgs2pg7y5ccfrcjzj7j7x4n41g59gzbsp1nirj6dra"
}
}
6 changes: 3 additions & 3 deletions pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
, ... } @ args:

let
version = "5.10.224-rt116"; # updated by ./update-rt.sh
version = "5.10.225-rt117"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in buildLinux (args // {
Expand All @@ -17,14 +17,14 @@ in buildLinux (args // {

src = fetchurl {
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
sha256 = "06nivms93yjbddv3gl88m7bdrr0676nm3p12iqvsdfr4fg39kc0r";
sha256 = "0770757ildcc0cs6alnb5cspg6ysg2wqly9z5q1vjf3mh0xbzmw5";
};

kernelPatches = let rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "0d7dcbpn0b0nqmcr35z2f5gsknn4hmqsr01n6j35amzv9fd45iwl";
sha256 = "1c14gm4wzcbkhzgdm5lwq1as9is784yra7bc226bz3bqs3h7vmw2";
};
}; in [ rt-patch ] ++ kernelPatches;

Expand Down
6 changes: 3 additions & 3 deletions pkgs/os-specific/linux/kernel/linux-rt-6.1.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
, ... } @ args:

let
version = "6.1.108-rt40"; # updated by ./update-rt.sh
version = "6.1.111-rt42"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in buildLinux (args // {
Expand All @@ -18,14 +18,14 @@ in buildLinux (args // {

src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
sha256 = "18lcd2b7ffwzqwqnmb948r7z95470bh7jiqps5nil8hfl24lwkiz";
sha256 = "1c7d49kppv8xgqlsrfm1286mnvz8vcnbqqh6zgfca2s13px9hwn4";
};

kernelPatches = let rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "1ki0rn2cp3jkfna60sjlf2qn77fwpy0l2hdjk3i5xpmavir4mhdj";
sha256 = "16yb962fkkvgppbx8glp5ph3h1jl2q1b4m2s8gsf3k9i9yim7v5c";
};
}; in [ rt-patch ] ++ kernelPatches;

Expand Down
6 changes: 3 additions & 3 deletions pkgs/os-specific/linux/kernel/linux-rt-6.6.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
, ... } @ args:

let
version = "6.6.49-rt41"; # updated by ./update-rt.sh
version = "6.6.52-rt43"; # updated by ./update-rt.sh
branch = lib.versions.majorMinor version;
kversion = builtins.elemAt (lib.splitString "-" version) 0;
in buildLinux (args // {
Expand All @@ -18,14 +18,14 @@ in buildLinux (args // {

src = fetchurl {
url = "mirror://kernel/linux/kernel/v6.x/linux-${kversion}.tar.xz";
sha256 = "1dyk5pr5g8s5ia7f1vnkid4jghi81pxvwlgn9rmw2n88nz1dlmic";
sha256 = "1f5l6y7abscm01dr740fzvq8r756ar854n0i299smm4rhcsap48m";
};

kernelPatches = let rt-patch = {
name = "rt";
patch = fetchurl {
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
sha256 = "0aajxiwawk624y1r36l818m1ikgcl8szl6sapj70dcv95z9ach4i";
sha256 = "0g33n9idc3lhbj5z637zm3bgqh601a05cl1s8ji8zbnfh971jcgh";
};
}; in [ rt-patch ] ++ kernelPatches;

Expand Down

0 comments on commit c8e96cc

Please sign in to comment.