udevd isn't on $PATH and is in different places depending on what version of
udev is being used. Copy the code from initramfs-framework to search for the
right udevd at boot time instead of hard-coding a location.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
ISOLINUX=""
UNIONFS="no"
+# Copied from initramfs-framework. The core of this script probably should be
+# turned into initramfs-framework modules to reduce duplication.
+udev_daemon() {
+ OPTIONS="/sbin/udevd /lib/udev/udevd /lib/systemd/systemd-udevd"
+
+ for o in $OPTIONS; do
+ if [ -x "$o" ]; then
+ echo $o
+ return 0
+ fi
+ done
+
+ return 1
+}
+
+_UDEV_DAEMON=`udev_daemon`
+
early_setup() {
mkdir -p /proc
mkdir -p /sys
mkdir -p /run
mkdir -p /var/run
- /lib/udev/udevd --daemon
+
+ $_UDEV_DAEMON --daemon
udevadm trigger --action=add
}