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 |
