diff options
Diffstat (limited to 'perl-install/install/install2.pm')
-rw-r--r-- | perl-install/install/install2.pm | 9 |
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"); |