parent
55324b51e7
commit
76bedb5b9e
@ -0,0 +1,41 @@ |
||||
{ lib, buildLinux, fetchurl |
||||
, kernelPatches ? [ ] |
||||
, structuredExtraConfig ? {} |
||||
, extraMeta ? {} |
||||
, argsOverride ? {} |
||||
, ... } @ args: |
||||
|
||||
let |
||||
version = "5.9.1-rt20"; # updated by ./update-rt.sh |
||||
branch = lib.versions.majorMinor version; |
||||
kversion = builtins.elemAt (lib.splitString "-" version) 0; |
||||
in buildLinux (args // { |
||||
inherit version; |
||||
|
||||
src = fetchurl { |
||||
url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz"; |
||||
sha256 = "0dn0xz81pphca5dkg6zh8c78p05f63rrr5ihqqsmhc4n73li2jms"; |
||||
}; |
||||
|
||||
kernelPatches = let rt-patch = { |
||||
name = "rt"; |
||||
patch = fetchurl { |
||||
url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz"; |
||||
sha256 = "0ma3mv475qgg0dri4928gi6z00d7s59pdwj0d6dh0mfzs2xddnyv"; |
||||
}; |
||||
}; in [ rt-patch ] ++ lib.remove rt-patch kernelPatches; |
||||
|
||||
structuredExtraConfig = with lib.kernel; { |
||||
PREEMPT_RT = yes; |
||||
# Fix error: unused option: PREEMPT_RT. |
||||
EXPERT = yes; # PREEMPT_RT depends on it (in kernel/Kconfig.preempt) |
||||
# Fix error: option not set correctly: PREEMPT_VOLUNTARY (wanted 'y', got 'n'). |
||||
PREEMPT_VOLUNTARY = lib.mkForce no; # PREEMPT_RT deselects it. |
||||
# Fix error: unused option: RT_GROUP_SCHED. |
||||
RT_GROUP_SCHED = lib.mkForce (option no); # Removed by sched-disable-rt-group-sched-on-rt.patch. |
||||
} // structuredExtraConfig; |
||||
|
||||
extraMeta = extraMeta // { |
||||
inherit branch; |
||||
}; |
||||
} // argsOverride) |
Loading…
Reference in new issue