core/pkgs/build-support/kernel/modules-closure.nix

31 lines
620 B
Nix
Raw Normal View History

2024-05-02 00:46:19 +00:00
# Given a kernel build (with modules in $kernel/lib/modules/VERSION),
# produce a module tree in $out/lib/modules/VERSION that contains only
# the modules identified by `rootModules', plus their dependencies.
# Also generate an appropriate modules.dep.
2024-06-30 08:12:46 +00:00
{
stdenvNoCC,
kernel,
firmware,
nukeReferences,
rootModules,
kmod,
allowMissing ? false,
}:
2024-05-02 00:46:19 +00:00
stdenvNoCC.mkDerivation {
name = kernel.name + "-shrunk";
builder = ./modules-closure.sh;
2024-06-30 08:12:46 +00:00
nativeBuildInputs = [
nukeReferences
kmod
];
inherit
kernel
firmware
rootModules
allowMissing
;
allowedReferences = [ "out" ];
2024-05-02 00:46:19 +00:00
}