From 5e8d28572a313515bc65ff11e4f642c9f72107f0 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 --- 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 2eb28ea420256..3e7b76ea97d1b 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 30c52da8a124c7396d3f60ccdaf5ed0ad7250ef3 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 --- 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 3e7b76ea97d1b..5c156358839ac 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -28,7 +28,7 @@ "hash": "sha256:15ihkbsj0idwzbvhynjm3kcnkk0alf3xipip8ngib1f1z13a0kgv" }, "6.11": { - "version": "6.11", - "hash": "sha256:0bnbvadm4wvnwzcq319gsgl03ijvvljn7mj8qw87ihpb4p0cdljm" + "version": "6.11.1", + "hash": "sha256:0ggfg3f8nkcgs2pg7y5ccfrcjzj7j7x4n41g59gzbsp1nirj6dra" } } From 8fa87fa112a0897411c3cbb859dac9c5c82cccf0 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 --- 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 5c156358839ac..dfbab081b08d8 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:1f5l6y7abscm01dr740fzvq8r756ar854n0i299smm4rhcsap48m" }, "6.10": { - "version": "6.10.11", - "hash": "sha256:15ihkbsj0idwzbvhynjm3kcnkk0alf3xipip8ngib1f1z13a0kgv" + "version": "6.10.12", + "hash": "sha256:1kvkwgnq5gsdqarrdg32qjrbq1dggxp1x2yy2zpsjsaq5y2mhj2j" }, "6.11": { "version": "6.11.1", From 20380379dba41ba46a4a597b7afd74f5560acea6 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 --- 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 dfbab081b08d8..4bd8aab489c8c 100644 --- a/pkgs/os-specific/linux/kernel/kernels-org.json +++ b/pkgs/os-specific/linux/kernel/kernels-org.json @@ -20,8 +20,8 @@ "hash": "sha256:0axkwfhvq3w2072xjqww476qa3rjglxyqmf72mlp9b5ymswil8kp" }, "6.6": { - "version": "6.6.52", - "hash": "sha256:1f5l6y7abscm01dr740fzvq8r756ar854n0i299smm4rhcsap48m" + "version": "6.6.53", + "hash": "sha256:0yfpyiz57wz9rkwif6n3k2n87waw46ad0h7h0pwhnar53cfihp98" }, "6.10": { "version": "6.10.12", From 7df132ae3e345ab8d41452e514e4548b1571b475 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 --- 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 4bd8aab489c8c..356135e46214f 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 6290efed1503c0fe7095e612aded8a9476368a40 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 --- 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 e11651d82493b..257754d218ece 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 // { @@ -18,14 +18,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 6c12dc70050611ec8d50343245d541336226c5c8 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 --- 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 efa9fcc0fb297..29a40809d0fcd 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 // { @@ -19,14 +19,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 0ea0c2a7c6619b15e0dd9247bdd1d0cd62f28382 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 --- 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 b8e4608bd2ff3..c27ae8cf120a8 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 // { @@ -19,14 +19,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 88746a794398da15142f91d42c829a4336616596 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 --- .../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 d3226b7670763..0b3da3f22f71b 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -29,6 +29,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 = { @@ -134,6 +141,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; @@ -484,14 +492,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 = lib.optionalAttrs ((features.rust or false) && lib.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 = { @@ -628,6 +638,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; @@ -895,6 +906,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" (lib.mkOptionDefault yes); @@ -973,7 +990,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 @@ -1179,6 +1200,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;