From f6286dea8881e446f33a9b2faca8db43ec55aa45 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Wed, 26 Aug 2020 08:39:01 +0200 Subject: [PATCH] extra-utils: build a full lvm2 without udev support, fixes #96197 dmsetup was missing symbols. https://github.com/NixOS/nixpkgs/pull/96290#issuecomment-680252830 --- nixos/modules/system/boot/stage-1.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix index eee510d2c951..fe10972b2afd 100644 --- a/nixos/modules/system/boot/stage-1.nix +++ b/nixos/modules/system/boot/stage-1.nix @@ -87,7 +87,9 @@ 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 = pkgs.runCommandCC "extra-utils" + 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" { nativeBuildInputs = [pkgs.buildPackages.nukeReferences]; allowedReferences = [ "out" ]; # prevent accidents like glibc being included in the initrd } @@ -111,8 +113,8 @@ let copy_bin_and_libs ${pkgs.utillinux}/sbin/blkid # Copy dmsetup and lvm. - copy_bin_and_libs ${getBin pkgs.lvm2}/bin/dmsetup - copy_bin_and_libs ${getBin pkgs.lvm2}/bin/lvm + copy_bin_and_libs ${getBin lvm2}/bin/dmsetup + copy_bin_and_libs ${getBin lvm2}/bin/lvm # Add RAID mdadm tool. copy_bin_and_libs ${pkgs.mdadm}/sbin/mdadm