Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions nixos/modules/system/boot/stage-1.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -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
Expand Down
1 change: 0 additions & 1 deletion nixos/tests/installer.nix
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
13 changes: 7 additions & 6 deletions pkgs/top-level/all-packages.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17246,11 +17246,7 @@ in

criu = callPackage ../os-specific/linux/criu { };

cryptsetup = callPackage ../os-specific/linux/cryptsetup {
# cryptsetup only really needs the devmapper component of cryptsetup
# but itself is used as a library in systemd (=udev)
lvm2 = lvm2.override { udev = null; };
};
cryptsetup = callPackage ../os-specific/linux/cryptsetup { };

cramfsprogs = callPackage ../os-specific/linux/cramfsprogs { };

Expand Down Expand Up @@ -18032,7 +18028,12 @@ in

lsscsi = callPackage ../os-specific/linux/lsscsi { };

lvm2 = callPackage ../os-specific/linux/lvm2 { };
lvm2 = callPackage ../os-specific/linux/lvm2 {
# udev is the same package as systemd which depends on cryptsetup
# which depends on lvm2 again. But we only need the libudev part
# which does not depend on cryptsetup.
udev = udev.override { cryptsetup = null; };
};
lvm2_dmeventd = callPackage ../os-specific/linux/lvm2 {
enableDmeventd = true;
enableCmdlib = true;
Expand Down