From 29f829e5ca32c740ff9b8e3b93bfb6f8f10345b8 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:03:42 +0300 Subject: [PATCH 1/9] linux_testing: 6.11-rc7 -> 6.12-rc1 (cherry picked from commit 5e8d28572a313515bc65ff11e4f642c9f72107f0) --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index ba862f9551c73..d69c8cdcc7dd9 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -1,7 +1,7 @@ { "testing": { - "version": "6.11-rc7", - "hash": "sha256:17c8vwvra042mib1s60nqqai0s7qc0qkvrf0j7ziqmy2llq8cbxy" + "version": "6.12-rc1", + "hash": "sha256:16zwvjcvgndvr0izx0qs2k7v85nvxwlx6j7y2yrdl3shalsdlmx2" }, "6.1": { "version": "6.1.111", From 562086149e97ce485276b5a7b7975251fee362d2 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:03:47 +0300 Subject: [PATCH 2/9] linux_6_11: 6.11 -> 6.11.1 (cherry picked from commit 30c52da8a124c7396d3f60ccdaf5ed0ad7250ef3) --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index d69c8cdcc7dd9..bb1ceee1de353 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -40,7 +40,7 @@ "hash": "sha256:15ihkbsj0idwzbvhynjm3kcnkk0alf3xipip8ngib1f1z13a0kgv" }, "6.11": { - "version": "6.11", - "hash": "sha256:0bnbvadm4wvnwzcq319gsgl03ijvvljn7mj8qw87ihpb4p0cdljm" + "version": "6.11.1", + "hash": "sha256:0ggfg3f8nkcgs2pg7y5ccfrcjzj7j7x4n41g59gzbsp1nirj6dra" } } From 14aaecf23700e742f475cb2047c8d4d0f249e7ef Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:03:55 +0300 Subject: [PATCH 3/9] linux_6_10: 6.10.11 -> 6.10.12 (cherry picked from commit 8fa87fa112a0897411c3cbb859dac9c5c82cccf0) --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index bb1ceee1de353..908e16e6fe342 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -36,8 +36,8 @@ "hash": "sha256:08ngskni7d9wi93vlwcmbdg7sb2jl1drhhzn62k9nsrg1r7crrss" }, "6.10": { - "version": "6.10.11", - "hash": "sha256:15ihkbsj0idwzbvhynjm3kcnkk0alf3xipip8ngib1f1z13a0kgv" + "version": "6.10.12", + "hash": "sha256:1kvkwgnq5gsdqarrdg32qjrbq1dggxp1x2yy2zpsjsaq5y2mhj2j" }, "6.11": { "version": "6.11.1", From f7c914b0932cb1fe50f9349babe81940965440df Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:04:00 +0300 Subject: [PATCH 4/9] linux_6_6: 6.6.52 -> 6.6.53 (cherry picked from commit 20380379dba41ba46a4a597b7afd74f5560acea6) --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 908e16e6fe342..528619abbe601 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -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", From 8749852c4d102ea7854dc3684585f18989d380d1 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:04:04 +0300 Subject: [PATCH 5/9] linux_6_1: 6.1.111 -> 6.1.112 (cherry picked from commit 7df132ae3e345ab8d41452e514e4548b1571b475) --- pkgs/os-specific/linux/kernel/kernels-org.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/kernels-org.json b/pkgs/os-specific/linux/kernel/kernels-org.json index 528619abbe601..8ba27041edc8b 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -4,8 +4,8 @@ "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", From 46c63c1c7c5c01a07cd35caf19c3e9bdcf81d64b Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:04:29 +0300 Subject: [PATCH 6/9] linux-rt_5_10: 5.10.224-rt116 -> 5.10.225-rt117 (cherry picked from commit 6290efed1503c0fe7095e612aded8a9476368a40) --- pkgs/os-specific/linux/kernel/linux-rt-5.10.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix index 26a97d4560897..f0bf3d0b0c238 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix @@ -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 // { @@ -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; From 7701c2d4c9b4b62c2f8e2d4d4c884af0021fc2b3 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:05:53 +0300 Subject: [PATCH 7/9] linux-rt_6_1: 6.1.108-rt40 -> 6.1.111-rt42 (cherry picked from commit 6c12dc70050611ec8d50343245d541336226c5c8) --- pkgs/os-specific/linux/kernel/linux-rt-6.1.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix index b0ea7956ad82e..cbf3b473f7cf0 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-6.1.nix @@ -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 // { @@ -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; From e8a8a3d0d952237494d64d44e5dbe1056bff6882 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:06:31 +0300 Subject: [PATCH 8/9] linux-rt_6_6: 6.6.49-rt41 -> 6.6.52-rt43 (cherry picked from commit 0ea0c2a7c6619b15e0dd9247bdd1d0cd62f28382) --- pkgs/os-specific/linux/kernel/linux-rt-6.6.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix b/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix index a7f3173990761..e65e243e2b72b 100644 --- a/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix +++ b/pkgs/os-specific/linux/kernel/linux-rt-6.6.nix @@ -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 // { @@ -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; From 4aef69c73e059b61083172d925567e46fed00ca3 Mon Sep 17 00:00:00 2001 From: K900 Date: Mon, 30 Sep 2024 18:28:46 +0300 Subject: [PATCH 9/9] linux/common-config: update for 6.12 - refactor Rust checks to prepare for enablement - enable DRM panic QR codes when Rust is enabled - enable I2C_DESIGNWARE_CORE explicitly for all the Bay Trail things - enable all the zram backends because they're separate options now and basically free - enable the new and returning module compression related options - enable scx and NFS local IO (cherry picked from commit 88746a794398da15142f91d42c829a4336616596) --- .../linux/kernel/common-config.nix | 38 +++++++++++++++---- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index d9693a8a9624f..0d599e5e5aeec 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -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 = { @@ -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; @@ -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 = { @@ -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; @@ -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); @@ -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 @@ -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;