From patchwork Thu Jan 17 16:29:39 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: initramfs-live-boot: handle multiple udev locations Date: Thu, 17 Jan 2013 16:29:39 -0000 From: Ross Burton X-Patchwork-Id: 42823 Message-Id: <1358440179-32242-1-git-send-email-ross.burton@intel.com> To: openembedded-core@lists.openembedded.org 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 --- meta/recipes-core/initrdscripts/files/init-live.sh | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/initrdscripts/files/init-live.sh b/meta/recipes-core/initrdscripts/files/init-live.sh index 0ae359d..f0d4f22 100644 --- a/meta/recipes-core/initrdscripts/files/init-live.sh +++ b/meta/recipes-core/initrdscripts/files/init-live.sh @@ -9,6 +9,23 @@ UMOUNT="/bin/umount" 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 @@ -21,7 +38,8 @@ early_setup() { mkdir -p /run mkdir -p /var/run - /lib/udev/udevd --daemon + + $_UDEV_DAEMON --daemon udevadm trigger --action=add }