--- a/install/udev
+++ b/install/udev
@@ -2,13 +2,14 @@
 
 build() {
     map add_binary \
-        '/usr/lib/systemd/systemd-udevd' \
+        '/usr/bin/udevd' \
         '/usr/bin/udevadm' \
-        '/usr/bin/systemd-tmpfiles' \
         '/usr/lib/udev/ata_id' \
         '/usr/lib/udev/scsi_id' \
         '/usr/lib/libkmod.so.2'
 
+    add_file '/etc/udev/udev.conf'
+
     map add_udev_rule \
         '50-udev-default.rules' \
         '60-persistent-storage.rules' \
@@ -21,8 +22,7 @@
     cat <<HELPEOF
 This hook adds the udev daemon to the initramfs, allowing for dynamic loading
 of modules and reliable detection of the root device via tags (e.g. UUID or
-LABEL). Do not remove this hook unless you are using the systemd hook, or you
-know what you're doing.
+LABEL). Do not remove this hook unless you know what you're doing.
 HELPEOF
 }
 
--- a/hooks/udev
+++ b/hooks/udev
@@ -1,14 +1,12 @@
 #!/usr/bin/ash
 
 run_earlyhook() {
     local quiet
-    kmod static-nodes --format=tmpfiles --output=/run/tmpfiles.d/kmod.conf
-    systemd-tmpfiles --prefix=/dev --create --boot
     quiet="$(getarg quiet)"
     if [ "${quiet}" = "y" ]; then
-        /usr/lib/systemd/systemd-udevd --daemon --resolve-names=never >/dev/null 2>&1
+        udevd --daemon --resolve-names=never >/dev/null 2>&1
     else
-        /usr/lib/systemd/systemd-udevd --daemon --resolve-names=never
+        udevd --daemon --resolve-names=never
     fi
     # used externally by poll_device()
     # shellcheck disable=SC2034
