diff options
Diffstat (limited to 'meta/packages/udev/udev-158/init')
-rw-r--r-- | meta/packages/udev/udev-158/init | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/meta/packages/udev/udev-158/init b/meta/packages/udev/udev-158/init new file mode 100644 index 0000000000..eb5e50758b --- /dev/null +++ b/meta/packages/udev/udev-158/init | |||
@@ -0,0 +1,59 @@ | |||
1 | #!/bin/sh -e | ||
2 | |||
3 | ### BEGIN INIT INFO | ||
4 | # Provides: udev | ||
5 | # Required-Start: mountvirtfs | ||
6 | # Required-Stop: | ||
7 | # Default-Start: S | ||
8 | # Default-Stop: | ||
9 | # Short-Description: Start udevd, populate /dev and load drivers. | ||
10 | ### END INIT INFO | ||
11 | |||
12 | export TZ=/etc/localtime | ||
13 | |||
14 | [ -d /sys/class ] || exit 1 | ||
15 | [ -r /proc/mounts ] || exit 1 | ||
16 | [ -x /sbin/udevd ] || exit 1 | ||
17 | [ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf | ||
18 | |||
19 | kill_udevd() { | ||
20 | if [ -x /sbin/pidof ]; then | ||
21 | pid=`/sbin/pidof -x udevd` | ||
22 | [ -n "$pid" ] && kill $pid | ||
23 | fi | ||
24 | } | ||
25 | |||
26 | export ACTION=add | ||
27 | # propagate /dev from /sys | ||
28 | echo -n "Starting udev" | ||
29 | |||
30 | # mount the tmpfs on /dev, if not already done | ||
31 | LANG=C awk "\$2 == \"/dev\" && \$4 == \"tmpfs\" { exit 1 }" /proc/mounts && { | ||
32 | mount -n -o mode=0755 -t tmpfs none "/dev" | ||
33 | mkdir -m 0755 /dev/pts | ||
34 | mkdir -m 1777 /dev/shm | ||
35 | } | ||
36 | |||
37 | if [ -e /etc/dev.tar ]; then | ||
38 | (cd /; tar xf /etc/dev.tar) | ||
39 | not_first_boot=1 | ||
40 | fi | ||
41 | |||
42 | # make_extra_nodes | ||
43 | kill_udevd > "/dev/null" 2>&1 | ||
44 | |||
45 | # trigger the sorted events | ||
46 | echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug | ||
47 | /sbin/udevd -d | ||
48 | |||
49 | /sbin/udevadm control --env=STARTUP=1 | ||
50 | if [ "$not_first_boot" != "" ];then | ||
51 | /sbin/udevadm trigger --subsystem-nomatch=tty --subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole --subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus --subsystem-nomatch=graphics --subsystem-nomatch=backlight --subsystem-nomatch=video4linux --subsystem-nomatch=platform | ||
52 | (/sbin/udevadm settle --timeout=3; /sbin/udevadm control --env=STARTUP=)& | ||
53 | else | ||
54 | /sbin/udevadm trigger | ||
55 | /sbin/udevadm settle | ||
56 | fi | ||
57 | |||
58 | echo | ||
59 | exit 0 | ||