diff options
Diffstat (limited to 'meta/packages/udev/udev-124/init')
-rw-r--r-- | meta/packages/udev/udev-124/init | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/meta/packages/udev/udev-124/init b/meta/packages/udev/udev-124/init new file mode 100644 index 0000000000..2e3019324f --- /dev/null +++ b/meta/packages/udev/udev-124/init | |||
@@ -0,0 +1,49 @@ | |||
1 | export TZ=/etc/localtime | ||
2 | |||
3 | [ -d /sys/class ] || exit 1 | ||
4 | [ -r /proc/mounts ] || exit 1 | ||
5 | [ -x /sbin/udevd ] || exit 1 | ||
6 | [ -f /etc/udev/udev.conf ] && . /etc/udev/udev.conf | ||
7 | |||
8 | kill_udevd() { | ||
9 | if [ -x /sbin/pidof ]; then | ||
10 | pid=`/sbin/pidof -x udevd` | ||
11 | [ -n "$pid" ] && kill $pid | ||
12 | fi | ||
13 | } | ||
14 | |||
15 | export ACTION=add | ||
16 | # propagate /dev from /sys | ||
17 | echo -n "Starting udev" | ||
18 | |||
19 | # mount the tmpfs on /dev, if not already done | ||
20 | LANG=C awk "\$2 == \"/dev\" && \$4 == \"tmpfs\" { exit 1 }" /proc/mounts && { | ||
21 | mount -n -o mode=0755 -t tmpfs none "/dev" | ||
22 | mkdir -m 0755 /dev/pts | ||
23 | mkdir -m 0755 /dev/shm | ||
24 | } | ||
25 | |||
26 | if [ -e /etc/dev.tar ]; then | ||
27 | (cd /; tar xf /etc/dev.tar) | ||
28 | not_first_boot=1 | ||
29 | fi | ||
30 | |||
31 | # make_extra_nodes | ||
32 | kill_udevd > "/dev/null" 2>&1 | ||
33 | |||
34 | # trigger the sorted events | ||
35 | echo -e '\000\000\000\000' > /proc/sys/kernel/hotplug | ||
36 | /sbin/udevd -d | ||
37 | |||
38 | /sbin/udevadm control env STARTUP=1 | ||
39 | if [ "$not_first_boot" != "" ];then | ||
40 | /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 | ||
41 | (/sbin/udevsettle --timeout=3; /sbin/udevcontrol env STARTUP=)& | ||
42 | else | ||
43 | /sbin/udevadm trigger | ||
44 | /sbin/udevsettle | ||
45 | (cd /; tar cf /etc/dev.tar /dev) | ||
46 | fi | ||
47 | |||
48 | echo | ||
49 | exit 0 | ||