diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index d25e20bac8b2..76f8122e477c 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -38,8 +38,9 @@ let # Necessary for BTF DEBUG_INFO = mkMerge [ (whenOlder "5.2" (if (features.debug or false) then yes else no)) - (whenAtLeast "5.2" yes) + (whenBetween "5.2" "5.18" yes) ]; + DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT = whenAtLeast "5.18" yes; DEBUG_INFO_BTF = whenAtLeast "5.2" (option yes); BPF_LSM = whenAtLeast "5.7" (option yes); DEBUG_KERNEL = yes; @@ -407,7 +408,7 @@ let UDF_FS = module; NFSD_V2_ACL = yes; - NFSD_V3 = yes; + NFSD_V3 = whenOlder "5.18" yes; NFSD_V3_ACL = yes; NFSD_V4 = yes; NFSD_V4_SECURITY_LABEL = yes; diff --git a/pkgs/os-specific/linux/kernel/linux-5.18.nix b/pkgs/os-specific/linux/kernel/linux-5.18.nix new file mode 100644 index 000000000000..b81f2479cb43 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-5.18.nix @@ -0,0 +1,18 @@ +{ lib, buildPackages, fetchurl, perl, buildLinux, nixosTests, modDirVersionArg ? null, ... } @ args: + +with lib; + +buildLinux (args // rec { + version = "5.18"; + + # modDirVersion needs to be x.y.z, will automatically add .0 if needed + modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg; + + # branchVersion needs to be x.y + extraMeta.branch = versions.majorMinor version; + + src = fetchurl { + url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz"; + sha256 = "1vjwhl4s8qxfg1aabn8xnpjza3qzrjcp5450h9qpjvl999lg3wsi"; + }; +} // (args.argsOverride or { })) diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index bb88c91d1c87..0adf7db3673b 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -730,6 +730,7 @@ mapAliases ({ linuxPackages_5_15 = linuxKernel.packages.linux_5_15; linuxPackages_5_16 = linuxKernel.packages.linux_5_16; linuxPackages_5_17 = linuxKernel.packages.linux_5_17; + linuxPackages_5_18 = linuxKernel.packages.linux_5_18; linuxPackages_5_4 = linuxKernel.packages.linux_5_4; linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14; linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1; @@ -748,6 +749,7 @@ mapAliases ({ linux_5_15 = linuxKernel.kernels.linux_5_15; linux_5_16 = linuxKernel.kernels.linux_5_16; linux_5_17 = linuxKernel.kernels.linux_5_17; + linux_5_18 = linuxKernel.kernels.linux_5_18; linux_5_4 = linuxKernel.kernels.linux_5_4; linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95; linux_rpi0 = linuxKernel.kernels.linux_rpi1; diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix index 8196811a7b2b..a55ecc2b51ee 100644 --- a/pkgs/top-level/linux-kernels.nix +++ b/pkgs/top-level/linux-kernels.nix @@ -169,6 +169,13 @@ in { ]; }; + linux_5_18 = callPackage ../os-specific/linux/kernel/linux-5.18.nix { + kernelPatches = [ + kernelPatches.bridge_stp_helper + kernelPatches.request_key_helper + ]; + }; + linux_testing = let testing = callPackage ../os-specific/linux/kernel/linux-testing.nix { kernelPatches = [ @@ -502,6 +509,7 @@ in { linux_5_15 = recurseIntoAttrs (packagesFor kernels.linux_5_15); linux_5_16 = throw "linux 5.16 was removed because it reached its end of life upstream"; # Added 2022-04-23 linux_5_17 = recurseIntoAttrs (packagesFor kernels.linux_5_17); + linux_5_18 = recurseIntoAttrs (packagesFor kernels.linux_5_18); }; rtPackages = { @@ -557,7 +565,7 @@ in { packageAliases = { linux_default = if stdenv.hostPlatform.isi686 then packages.linux_5_10 else packages.linux_5_15; # Update this when adding the newest kernel major version! - linux_latest = packages.linux_5_17; + linux_latest = packages.linux_5_18; linux_mptcp = packages.linux_mptcp_95; linux_rt_default = packages.linux_rt_5_4; linux_rt_latest = packages.linux_rt_5_10;