The problem behind this is that the hardened patchset[1]. Quite recently this led to a weird problem when Linux 5.12 was dropped (and thus had to be removed from `nixpkgs`), there were no patches for 5.13, so `linuxPackages_hardened_latest` had to be downgraded to 5.10 as base[2] which may be rather unintuitive and unexpected. To avoid these kind of "silent downgrades" in the future, it makes sense to drop the attribute entirely. If somebody wants to use a hardened kernel, it's better to explicitly pin it using the newly introduced versioned attributes, e.g. `linuxPackages_4_14_hardened`. [1] https://github.com/anthraxx/linux-hardened/ [2] https://github.com/NixOS/nixpkgs/pull/133587
43 lines
1.4 KiB
Nix
43 lines
1.4 KiB
Nix
{ system ? builtins.currentSystem
|
|
, config ? { }
|
|
, pkgs ? import ../.. { inherit system config; }
|
|
}@args:
|
|
|
|
with pkgs.lib;
|
|
|
|
let
|
|
makeKernelTest = version: linuxPackages: (import ./make-test-python.nix ({ pkgs, ... }: {
|
|
name = "kernel-${version}";
|
|
meta = with pkgs.lib.maintainers; {
|
|
maintainers = [ nequissimus ];
|
|
};
|
|
|
|
machine = { ... }:
|
|
{
|
|
boot.kernelPackages = linuxPackages;
|
|
};
|
|
|
|
testScript =
|
|
''
|
|
assert "Linux" in machine.succeed("uname -s")
|
|
assert "${linuxPackages.kernel.modDirVersion}" in machine.succeed("uname -a")
|
|
'';
|
|
}) args);
|
|
in
|
|
with pkgs; {
|
|
linux_4_4 = makeKernelTest "4.4" linuxPackages_4_4;
|
|
linux_4_9 = makeKernelTest "4.9" linuxPackages_4_9;
|
|
linux_4_14 = makeKernelTest "4.14" linuxPackages_4_14;
|
|
linux_4_19 = makeKernelTest "4.19" linuxPackages_4_19;
|
|
linux_5_4 = makeKernelTest "5.4" linuxPackages_5_4;
|
|
linux_5_10 = makeKernelTest "5.10" linuxPackages_5_10;
|
|
linux_5_13 = makeKernelTest "5.13" linuxPackages_5_13;
|
|
|
|
linux_hardened_4_14 = makeKernelTest "4.14" linuxPackages_4_14_hardened;
|
|
linux_hardened_4_19 = makeKernelTest "4.19" linuxPackages_4_19_hardened;
|
|
linux_hardened_5_4 = makeKernelTest "5.4" linuxPackages_5_4_hardened;
|
|
linux_hardened_5_10 = makeKernelTest "5.10" linuxPackages_5_10_hardened;
|
|
|
|
linux_testing = makeKernelTest "testing" linuxPackages_testing;
|
|
}
|