Merge pull request #204673 from whiteley/5.15-rt

Add linux-rt-5.15

authored by

Graham Christensen and committed by
GitHub
8552d36e 77635525

+56
+45
pkgs/os-specific/linux/kernel/linux-rt-5.15.nix
··· 1 + { lib, buildLinux, fetchurl 2 + , kernelPatches ? [ ] 3 + , structuredExtraConfig ? {} 4 + , extraMeta ? {} 5 + , argsOverride ? {} 6 + , ... } @ args: 7 + 8 + let 9 + version = "5.15.86-rt56"; # updated by ./update-rt.sh 10 + branch = lib.versions.majorMinor version; 11 + kversion = builtins.elemAt (lib.splitString "-" version) 0; 12 + in buildLinux (args // { 13 + inherit version; 14 + 15 + # modDirVersion needs a patch number, change X.Y-rtZ to X.Y.0-rtZ. 16 + modDirVersion = if (builtins.match "[^.]*[.][^.]*-.*" version) == null then version 17 + else lib.replaceStrings ["-"] [".0-"] version; 18 + 19 + src = fetchurl { 20 + url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; 21 + sha256 = "1vpjnmwqsx6akph2nvbsv2jl7pp8b7xns3vmwbljsl23lkpxkz40"; 22 + }; 23 + 24 + kernelPatches = let rt-patch = { 25 + name = "rt"; 26 + patch = fetchurl { 27 + url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; 28 + sha256 = "0y7pkzacxh1fsvnbmjq0ljfb4zjw6dq9br6rl8kr3w4dj56fmaxs"; 29 + }; 30 + }; in [ rt-patch ] ++ kernelPatches; 31 + 32 + structuredExtraConfig = with lib.kernel; { 33 + PREEMPT_RT = yes; 34 + # Fix error: unused option: PREEMPT_RT. 35 + EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) 36 + # Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). 37 + PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. 38 + # Fix error: unused option: RT_GROUP_SCHED. 39 + RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. 40 + } // structuredExtraConfig; 41 + 42 + extraMeta = extraMeta // { 43 + inherit branch; 44 + }; 45 + } // argsOverride)
+2
pkgs/top-level/aliases.nix
··· 828 828 829 829 # Linux kernels 830 830 linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10; 831 + linux-rt_5_15 = linuxKernel.kernels.linux_rt_5_15; 831 832 linux-rt_5_4 = linuxKernel.kernels.linux_rt_5_4; 832 833 linuxPackages_4_14 = linuxKernel.packages.linux_4_14; 833 834 linuxPackages_4_19 = linuxKernel.packages.linux_4_19; ··· 848 849 linuxPackages_rpi3 = linuxKernel.packages.linux_rpi3; 849 850 linuxPackages_rpi4 = linuxKernel.packages.linux_rpi4; 850 851 linuxPackages_rt_5_10 = linuxKernel.packages.linux_rt_5_10; 852 + linuxPackages_rt_5_15 = linuxKernel.packages.linux_rt_5_15; 851 853 linuxPackages_rt_5_4 = linuxKernel.packages.linux_rt_5_4; 852 854 linux_4_14 = linuxKernel.kernels.linux_4_14; 853 855 linux_4_19 = linuxKernel.kernels.linux_4_19;
+9
pkgs/top-level/linux-kernels.nix
··· 151 151 ]; 152 152 }; 153 153 154 + linux_rt_5_15 = callPackage ../os-specific/linux/kernel/linux-rt-5.15.nix { 155 + kernelPatches = [ 156 + kernelPatches.bridge_stp_helper 157 + kernelPatches.request_key_helper 158 + kernelPatches.export-rt-sched-migrate 159 + ]; 160 + }; 161 + 154 162 linux_5_17 = throw "linux 5.17 was removed because it has reached its end of life upstream"; 155 163 156 164 linux_5_18 = throw "linux 5.18 was removed because it has reached its end of life upstream"; ··· 534 542 # realtime kernel packages 535 543 linux_rt_5_4 = packagesFor kernels.linux_rt_5_4; 536 544 linux_rt_5_10 = packagesFor kernels.linux_rt_5_10; 545 + linux_rt_5_15 = packagesFor kernels.linux_rt_5_15; 537 546 }; 538 547 539 548 rpiPackages = {