diff options
Diffstat (limited to 'meta/recipes-core/initrdscripts/initramfs-framework')
-rw-r--r-- | meta/recipes-core/initrdscripts/initramfs-framework/udev | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/meta/recipes-core/initrdscripts/initramfs-framework/udev b/meta/recipes-core/initrdscripts/initramfs-framework/udev index 15a1d5ba06..7fbcc61d9c 100644 --- a/meta/recipes-core/initrdscripts/initramfs-framework/udev +++ b/meta/recipes-core/initrdscripts/initramfs-framework/udev | |||
@@ -1,10 +1,25 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # Copyright (C) 2011 O.S. Systems Software LTDA. | 2 | # Copyright (C) 2011, 2012 O.S. Systems Software LTDA. |
3 | # Licensed on MIT | 3 | # Licensed on MIT |
4 | 4 | ||
5 | udev_daemon() { | ||
6 | OPTIONS="/sbin/udevd /lib/udev/udevd /lib/systemd/systemd-udevd" | ||
7 | |||
8 | for o in $OPTIONS; do | ||
9 | if [ -x "$o" ]; then | ||
10 | echo $o | ||
11 | return 0 | ||
12 | fi | ||
13 | done | ||
14 | |||
15 | return 1 | ||
16 | } | ||
17 | |||
18 | _UDEV_DAEMON=`udev_daemon` | ||
19 | |||
5 | udev_enabled() { | 20 | udev_enabled() { |
6 | if [ ! -e /lib/udev/udevd ]; then | 21 | if [ -z "$_UDEV_DAEMON" ]; then |
7 | debug "/lib/udev/udev doesn't exist" | 22 | msg "WARNING: Cannot find the udev daemon; daemon will not be started in initramfs." |
8 | return 1 | 23 | return 1 |
9 | fi | 24 | fi |
10 | 25 | ||
@@ -14,9 +29,9 @@ udev_enabled() { | |||
14 | udev_run() { | 29 | udev_run() { |
15 | mkdir -p /run | 30 | mkdir -p /run |
16 | 31 | ||
17 | /lib/udev/udevd --daemon > /dev/null | 32 | $_UDEV_DAEMON --daemon |
18 | udevadm trigger --action=add | 33 | udevadm trigger --action=add |
19 | udevadm settle | 34 | udevadm settle |
20 | 35 | ||
21 | killall udevd 2>/dev/null | 36 | killall `basename $_UDEV_DAEMON` 2>/dev/null |
22 | } | 37 | } |