summary refs log tree commit diff
path: root/modules/system/boot/stage-1.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/system/boot/stage-1.nix')
-rw-r--r--modules/system/boot/stage-1.nix36
1 files changed, 14 insertions, 22 deletions
diff --git a/modules/system/boot/stage-1.nix b/modules/system/boot/stage-1.nix
index 6f82f3285b9..18d11e2d402 100644
--- a/modules/system/boot/stage-1.nix
+++ b/modules/system/boot/stage-1.nix
@@ -9,6 +9,8 @@ with pkgs.lib;
 
 let
 
+  udev = config.system.build.systemd;
+
   options = {
 
     boot.resumeDevice = mkOption {
@@ -167,7 +169,7 @@ let
       cp -v ${pkgs.utillinux}/sbin/blkid $out/bin
       cp -pdv ${pkgs.utillinux}/lib/libblkid*.so.* $out/lib
       cp -pdv ${pkgs.utillinux}/lib/libuuid*.so.* $out/lib
-      
+
       # Copy dmsetup and lvm.
       cp -v ${pkgs.lvm2}/sbin/dmsetup $out/bin/dmsetup
       cp -v ${pkgs.lvm2}/sbin/lvm $out/bin/lvm
@@ -177,9 +179,12 @@ let
       cp -v ${pkgs.mdadm}/sbin/mdadm $out/bin/mdadm
 
       # Copy udev.
-      cp -v ${pkgs.udev}/sbin/udevd ${pkgs.udev}/sbin/udevadm $out/bin
-      cp -v ${pkgs.udev}/lib/udev/*_id $out/bin
-      cp -pdv ${pkgs.udev}/lib/libudev.so.* $out/lib
+      cp -v ${udev}/lib/systemd/systemd-udevd ${udev}/bin/udevadm $out/bin
+      cp -v ${udev}/lib/udev/*_id $out/bin
+      cp -pdv ${udev}/lib/libudev.so.* $out/lib
+      cp -v ${pkgs.kmod}/lib/libkmod.so.* $out/lib
+      cp -v ${pkgs.acl}/lib/libacl.so.* $out/lib
+      cp -v ${pkgs.attr}/lib/libattr.so.* $out/lib
 
       # Copy modprobe.
       cp -v ${pkgs.module_init_tools}/sbin/modprobe $out/bin/modprobe
@@ -242,28 +247,22 @@ let
 
       echo 'ENV{LD_LIBRARY_PATH}="${extraUtils}/lib"' > $out/00-env.rules
 
-      cp -v ${pkgs.udev}/lib/udev/rules.d/60-cdrom_id.rules $out/
-      cp -v ${pkgs.udev}/lib/udev/rules.d/60-persistent-storage.rules $out/
-      cp -v ${pkgs.udev}/lib/udev/rules.d/80-drivers.rules $out/
+      cp -v ${udev}/lib/udev/rules.d/60-cdrom_id.rules $out/
+      cp -v ${udev}/lib/udev/rules.d/60-persistent-storage.rules $out/
+      cp -v ${udev}/lib/udev/rules.d/80-drivers.rules $out/
       cp -v ${pkgs.lvm2}/lib/udev/rules.d/*.rules $out/
       cp -v ${pkgs.mdadm}/lib/udev/rules.d/*.rules $out/
 
       for i in $out/*.rules; do
-      
           substituteInPlace $i \
             --replace ata_id ${extraUtils}/bin/ata_id \
-            --replace usb_id ${extraUtils}/bin/usb_id \
             --replace scsi_id ${extraUtils}/bin/scsi_id \
-            --replace path_id ${extraUtils}/bin/path_id \
-            --replace vol_id ${extraUtils}/bin/vol_id \
             --replace cdrom_id ${extraUtils}/bin/cdrom_id \
             --replace ${pkgs.utillinux}/sbin/blkid ${extraUtils}/bin/blkid \
             --replace /sbin/blkid ${extraUtils}/bin/blkid \
-            --replace /sbin/modprobe ${extraUtils}/bin/modprobe \
             --replace ${pkgs.lvm2}/sbin ${extraUtils}/bin \
             --replace /sbin/mdadm ${extraUtils}/bin/mdadm
       done
-      # !!! Remove this after merging the x-updates branch:
 
       # Work around a bug in QEMU, which doesn't implement the "READ
       # DISC INFORMATION" SCSI command:
@@ -281,14 +280,7 @@ let
   };
 
 
-  # The udev configuration file for in the initrd.
-  udevConf = pkgs.writeText "udev-initrd.conf" ''
-    udev_rules="${udevRules}"
-    #udev_log="debug"
-  '';
-
-
-  # the binary keymap for busybox to load at boot
+  # The binary keymap for busybox to load at boot.
   busyboxKeymap = pkgs.runCommand "boottime-keymap"
     { preferLocalBuild = true; }
     ''
@@ -306,7 +298,7 @@ let
 
     isExecutable = true;
 
-    inherit udevConf busyboxKeymap extraUtils modulesClosure;
+    inherit udevRules extraUtils modulesClosure busyboxKeymap;
 
     inherit (config.boot) resumeDevice devSize runSize;