diff options
Diffstat (limited to 'meta/recipes-core/udev/eudev/init')
-rw-r--r-- | meta/recipes-core/udev/eudev/init | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/meta/recipes-core/udev/eudev/init b/meta/recipes-core/udev/eudev/init index c60dbbf6d5..477a525b21 100644 --- a/meta/recipes-core/udev/eudev/init +++ b/meta/recipes-core/udev/eudev/init | |||
@@ -23,6 +23,42 @@ kill_udevd () { | |||
23 | [ -n "$pid" ] && kill $pid | 23 | [ -n "$pid" ] && kill $pid |
24 | } | 24 | } |
25 | 25 | ||
26 | make_static_nodes () { | ||
27 | [ -e /lib/modules/$(uname -r)/modules.devname ] || return 0 | ||
28 | [ -x @KMOD@ ] || return 0 | ||
29 | |||
30 | #output to /proc/self/fd/1 since /dev/stdout not created by udevd yet | ||
31 | @KMOD@ static-nodes --format=tmpfiles --output=/proc/self/fd/1 | | ||
32 | while read TTYPE TPATH TMODE TUSER TGROUP TAGE TARG; do | ||
33 | case "${TTYPE}" in | ||
34 | 'd') | ||
35 | test -d "${TPATH}" || mkdir -p -m "${TMODE}" "${TPATH}" | ||
36 | ;; | ||
37 | |||
38 | 'c!') | ||
39 | if [ ! -c "${TPATH}" ]; then | ||
40 | old_ifs="${IFS}" | ||
41 | IFS=: | ||
42 | set -- ${TARG} | ||
43 | IFS="${old_ifs}" | ||
44 | mknod -m "${TMODE}" "${TPATH}" c "$@" | ||
45 | fi | ||
46 | ;; | ||
47 | |||
48 | *) | ||
49 | echo "Unparseable line (${TTYPE} ${TPATH} ${TMODE} ${TUSER} ${TGROUP} ${TAGE} ${TARG})" | ||
50 | return 1 | ||
51 | ;; | ||
52 | esac | ||
53 | if [ "${TUSER}" != "-" ]; then | ||
54 | chown "${TUSER}" "${TPATH}" | ||
55 | fi | ||
56 | if [ "${TGROUP}" != "-" ]; then | ||
57 | chgrp "${TGROUP}" "${TPATH}" | ||
58 | fi | ||
59 | done | ||
60 | } | ||
61 | |||
26 | case "$1" in | 62 | case "$1" in |
27 | start) | 63 | start) |
28 | export ACTION=add | 64 | export ACTION=add |
@@ -51,6 +87,7 @@ case "$1" in | |||
51 | # make_extra_nodes | 87 | # make_extra_nodes |
52 | kill_udevd > "/dev/null" 2>&1 | 88 | kill_udevd > "/dev/null" 2>&1 |
53 | 89 | ||
90 | make_static_nodes | ||
54 | # trigger the sorted events | 91 | # trigger the sorted events |
55 | [ -e /proc/sys/kernel/hotplug ] && printf '\0\n' >/proc/sys/kernel/hotplug | 92 | [ -e /proc/sys/kernel/hotplug ] && printf '\0\n' >/proc/sys/kernel/hotplug |
56 | @UDEVD@ -d | 93 | @UDEVD@ -d |