summaryrefslogtreecommitdiffstats
path: root/perl-install/install/install2.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/install/install2.pm')
-rw-r--r--perl-install/install/install2.pm9
1 files changed, 7 insertions, 2 deletions
diff --git a/perl-install/install/install2.pm b/perl-install/install/install2.pm
index 03f617154..44d9bf916 100644
--- a/perl-install/install/install2.pm
+++ b/perl-install/install/install2.pm
@@ -291,8 +291,11 @@ sub start_udev() {
# Ensure /run is mounted
mkdir("/run", 0755);
run_program::run("mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /run");
- mkdir_p("/run/udev/rules.d");
- $ENV{UDEVRULESD} = "/run/udev/rules.d";
+
+ # Fake dracut boot (due to checks employed when running dracut during install)
+ # as we know that we'll have the needed metadata in udevadm db due to us
+ # starting udev nice and early here.
+ mkdir_p("/run/initramfs");
# Start up udev and trigger cold plugs
run_program::run("mount", "-t", "devtmpfs", "-o", "mode=0755,nosuid", "devtmpfs", "/dev");
@@ -300,6 +303,8 @@ sub start_udev() {
run_program::run("mount", "-t", "devpts", "-o", "gid=5,mode=620,noexec,nosuid", "devpts", "/dev/pts");
run_program::run("mount", "-t", "tmpfs", "-o", "mode=1777,nosuid,nodev", "tmpfs", "/dev/shm");
+ mkdir_p("/run/udev/rules.d");
+ $ENV{UDEVRULESD} = "/run/udev/rules.d";
run_program::run("/lib/udev/udevd", "--daemon", "--resolve-names=never");
run_program::run("udevadm", "trigger", "--type=subsystems", "--action=add");
run_program::run("udevadm", "trigger", "--type=devices", "--action=add");