--- trunk/udev/udev.rc 2012/06/26 17:11:31 1813 +++ trunk/udev/udev.rc 2012/07/30 18:10:19 1868 @@ -16,7 +16,7 @@ version=$(/lib/udev/udevd --version) elif [[ -x /usr/lib/systemd/systemd-udevd ]] then - version=$(/usr/lib/systemd/systemd-udev --version) + version=$(/usr/lib/systemd/systemd-udevd --version) fi # We need it without a leading '0', else bash do the wrong thing @@ -31,9 +31,6 @@ { local opts - # tell modprobe.sh to be verbose to $CONSOLE - echo CONSOLE=${CONSOLE} > /dev/.udev_populate - # populate /dev with devices already found by the kernel rc_print " Populating /dev with existing devices through uevents ..." if [[ ${RC_COLDPLUG} = yes ]] @@ -41,25 +38,16 @@ udevadm trigger else # do not run any init-scripts - udevadm control --env do_not_run_plug_service=1 - - # only create device nodes - udevadm trigger --attr-match=dev + udevadm control --property=do_not_run_plug_service=1 - # run persistent-net stuff - udevadm trigger --subsystem-match=net + udevadm trigger --type=subsystems --action=add + udevadm trigger --type=devices --action=add fi evaluate_retval - # loop until everything is finished - rc_print " Letting udev process events ..." - udevadm settle --timeout=60 - evaluate_retval - # unset this variable - udevadm control --env do_not_run_plug_service= + udevadm control --property=do_not_run_plug_service= - rm -f /dev/.udev_populate return 0 } @@ -68,26 +56,14 @@ # seed /dev with some things that we know we need rc_print " Seeding /dev with needed nodes ..." ( - [ ! -c /dev/console ] && mknod /dev/console c 5 1 - [ ! -c /dev/tty1 ] && mknod /dev/tty1 c 4 1 - [ ! -c /dev/null ] && mknod /dev/null c 1 3 + [ ! -c /dev/console ] && mknod -m 600 /dev/console c 5 1 + [ ! -c /dev/tty1 ] && mknod -m 620 /dev/tty1 c 4 1 + [ ! -c /dev/tty ] && mknod -m 666 /dev/tty c 5 0 + [ ! -c /dev/null ] && mknod -m 666 /dev/null c 1 3 # create kmsg too, so udev can add its start-message to dmesg [ -c /dev/kmsg ] || mknod -m 660 /dev/kmsg c 1 11 - # copy over any persistant things - if [[ -d /lib/udev/devices ]] - then - cp -RPp /lib/udev/devices/* /dev 2>/dev/null - fi - - # not provided by sysfs but needed - ln -snf /proc/self/fd /dev/fd - ln -snf fd/0 /dev/stdin - ln -snf fd/1 /dev/stdout - ln -snf fd/2 /dev/stderr - [[ -e /proc/kcore ]] && ln -snf /proc/kcore /dev/core - # create problematic directories mkdir -p /dev/pts /dev/shm ) @@ -119,7 +95,7 @@ [ -c /dev/console ] ; need_redirect=$? # create a ramdisk for populating udev - if [[ -z $(grep '[[:space:]]/dev[[:space:]]' /proc/mounts | cut -d ' ' -f2) ]] + if [[ -z $(grep '[[:space:]]/dev[[:space:]]' /proc/self/mountinfo) ]] then rc_print "Mounting udev at /dev ..." # many video drivers needed exec access