summary refs log tree commit diff
path: root/nixos/modules/system/boot/stage-1.nix
diff options
context:
space:
mode:
authorAnders Kaseorg <andersk@mit.edu>2020-09-03 04:51:36 -0700
committerAnders Kaseorg <andersk@mit.edu>2020-09-03 12:35:56 -0700
commitf4b2c9dfe7cb63edc8059c6caeaa9de015068628 (patch)
tree9bb3dc60c91976c2a6fb993a217b6659f86f20d1 /nixos/modules/system/boot/stage-1.nix
parent02a2649220887363e7730cfb2f0dcc3c4cf17f06 (diff)
downloadnixpkgs-f4b2c9dfe7cb63edc8059c6caeaa9de015068628.tar
nixpkgs-f4b2c9dfe7cb63edc8059c6caeaa9de015068628.tar.gz
nixpkgs-f4b2c9dfe7cb63edc8059c6caeaa9de015068628.tar.bz2
nixpkgs-f4b2c9dfe7cb63edc8059c6caeaa9de015068628.tar.lz
nixpkgs-f4b2c9dfe7cb63edc8059c6caeaa9de015068628.tar.xz
nixpkgs-f4b2c9dfe7cb63edc8059c6caeaa9de015068628.tar.zst
nixpkgs-f4b2c9dfe7cb63edc8059c6caeaa9de015068628.zip
cryptsetup, lvm2, systemd: Break cyclic dependency at a different point
The cyclic dependency of systemd → cryptsetup → lvm2 → udev=systemd
needs to be broken somewhere.  The previous strategy of building
cryptsetup with an lvm2 built without udev (#66856) caused the
installer.luksroot test to fail.  Instead, build lvm2 with a udev built
without cryptsetup.

Fixes #96479.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Diffstat (limited to 'nixos/modules/system/boot/stage-1.nix')
-rw-r--r--nixos/modules/system/boot/stage-1.nix8
1 files changed, 3 insertions, 5 deletions
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 1b2f22a039c..6823e12847c 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -87,9 +87,7 @@ let
   # copy what we need.  Instead of using statically linked binaries,
   # we just copy what we need from Glibc and use patchelf to make it
   # work.
-  extraUtils = let
-    # Use lvm2 without udev support, which is the same lvm2 we already have in the closure anyways
-    lvm2 = pkgs.lvm2.override { udev = null; }; in pkgs.runCommandCC "extra-utils"
+  extraUtils = pkgs.runCommandCC "extra-utils"
     { nativeBuildInputs = [pkgs.buildPackages.nukeReferences];
       allowedReferences = [ "out" ]; # prevent accidents like glibc being included in the initrd
     }
@@ -113,8 +111,8 @@ let
       copy_bin_and_libs ${pkgs.utillinux}/sbin/blkid
 
       # Copy dmsetup and lvm.
-      copy_bin_and_libs ${getBin lvm2}/bin/dmsetup
-      copy_bin_and_libs ${getBin lvm2}/bin/lvm
+      copy_bin_and_libs ${getBin pkgs.lvm2}/bin/dmsetup
+      copy_bin_and_libs ${getBin pkgs.lvm2}/bin/lvm
 
       # Add RAID mdadm tool.
       copy_bin_and_libs ${pkgs.mdadm}/sbin/mdadm