diff options
author | Anders Kaseorg <andersk@mit.edu> | 2020-09-03 04:51:36 -0700 |
---|---|---|
committer | Anders Kaseorg <andersk@mit.edu> | 2020-09-03 12:35:56 -0700 |
commit | f4b2c9dfe7cb63edc8059c6caeaa9de015068628 (patch) | |
tree | 9bb3dc60c91976c2a6fb993a217b6659f86f20d1 /nixos | |
parent | 02a2649220887363e7730cfb2f0dcc3c4cf17f06 (diff) |
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')
-rw-r--r-- | nixos/modules/system/boot/stage-1.nix | 8 | ||||
-rw-r--r-- | nixos/tests/installer.nix | 1 |
2 files changed, 3 insertions, 6 deletions
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index 1b2f22a039cbd..6823e12847c2f 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 diff --git a/nixos/tests/installer.nix b/nixos/tests/installer.nix index f64e4101d45b8..bd1bf7331531c 100644 --- a/nixos/tests/installer.nix +++ b/nixos/tests/installer.nix @@ -317,7 +317,6 @@ let texinfo unionfs-fuse xorg.lndir - (lvm2.override { udev = null; }) # for initrd (extra-utils) # add curl so that rather than seeing the test attempt to download # curl's tarball, we see what it's trying to download |