mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 12:29:02 +02:00
nixos/stage-1: create initramfs /lib at build time
Modules built in to the kernel can attempt to load firmware before init is started. To guarantee the firmware is accessible to them where they expect, /lib has to exist in the initramfs — it can't be created later by init, because by that point the module may already have tried and given up.
This commit is contained in:
parent
e55c73a6f4
commit
d9105c28c8
|
@ -253,9 +253,6 @@ done
|
|||
@setHostId@
|
||||
|
||||
# Load the required kernel modules.
|
||||
mkdir -p /lib
|
||||
ln -s @modulesClosure@/lib/modules /lib/modules
|
||||
ln -s @modulesClosure@/lib/firmware /lib/firmware
|
||||
echo @extraUtils@/bin/modprobe > /proc/sys/kernel/modprobe
|
||||
for i in @kernelModules@; do
|
||||
info "loading module $(basename $i)..."
|
||||
|
|
|
@ -307,7 +307,7 @@ let
|
|||
${pkgs.buildPackages.busybox}/bin/ash -n $target
|
||||
'';
|
||||
|
||||
inherit linkUnits udevRules extraUtils modulesClosure;
|
||||
inherit linkUnits udevRules extraUtils;
|
||||
|
||||
inherit (config.boot) resumeDevice;
|
||||
|
||||
|
@ -349,6 +349,9 @@ let
|
|||
[ { object = bootStage1;
|
||||
symlink = "/init";
|
||||
}
|
||||
{ object = "${modulesClosure}/lib";
|
||||
symlink = "/lib";
|
||||
}
|
||||
{ object = pkgs.runCommand "initrd-kmod-blacklist-ubuntu" {
|
||||
src = "${pkgs.kmod-blacklist-ubuntu}/modprobe.conf";
|
||||
preferLocalBuild = true;
|
||||
|
|
Loading…
Reference in a new issue