nixpkgs/pkgs/build-support/kernel/modules-closure.nix
Eelco Dolstra 16da00e64d * Doh! Since r15200, modules-closure.sh generated an empty set of
modules for the initial ramdisk if there were no additional kernel
  module packages (such as the NVIDIA driver or AUFS), leading to a
  kernel panic in the initrd.  This was because in that case modprobe
  would print paths referring to the kernel path rather than the
  module aggregation path, and then `sed "s^$kernel^$out^"' would
  silently fail.  Fixed.

* Also, use depmod here rather than doing sed hackery on modules.dep.

* Also, `allowMissing' was broken (missing "$" before the variable
  name).

svn path=/nixpkgs/trunk/; revision=15394
2009-04-29 14:32:04 +00:00

13 lines
511 B
Nix

# 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.
{stdenv, kernel, rootModules, module_init_tools, allowMissing ? false}:
stdenv.mkDerivation {
name = kernel.name + "-shrunk";
builder = ./modules-closure.sh;
inherit kernel rootModules module_init_tools allowMissing;
allowedReferences = ["out"];
}