1# Given a kernel build (with modules in $kernel/lib/modules/VERSION),
2# produce a module tree in $out/lib/modules/VERSION that contains only
3# the modules identified by `rootModules', plus their dependencies.
4# Also generate an appropriate modules.dep.
5
6{
7 stdenvNoCC,
8 kernel,
9 firmware,
10 nukeReferences,
11 rootModules,
12 kmod,
13 allowMissing ? false,
14 extraFirmwarePaths ? [ ],
15}:
16
17stdenvNoCC.mkDerivation {
18 name = kernel.name + "-shrunk";
19 builder = ./modules-closure.sh;
20 nativeBuildInputs = [
21 nukeReferences
22 kmod
23 ];
24 inherit
25 kernel
26 firmware
27 rootModules
28 allowMissing
29 extraFirmwarePaths
30 ;
31 allowedReferences = [ "out" ];
32}