diff options
author | 2009-01-22 11:41:37 +0000 | |
---|---|---|
committer | 2009-01-22 11:41:37 +0000 | |
commit | ebd6dc653e84a28a519429629e24e348ccedf03e (patch) | |
tree | 57d148352fcd5e2bd0c10721a1954c471a25d70c /sys-fs/udev/files | |
parent | Version bump. (diff) | |
download | historical-ebd6dc653e84a28a519429629e24e348ccedf03e.tar.gz historical-ebd6dc653e84a28a519429629e24e348ccedf03e.tar.bz2 historical-ebd6dc653e84a28a519429629e24e348ccedf03e.zip |
Add expert options to change udevsettle timeout and to run udevmonitor at boot time to catch all events.
Package-Manager: portage-2.1.6.6/cvs/Linux 2.6.27-gentoo-r1 i686
Diffstat (limited to 'sys-fs/udev/files')
-rw-r--r-- | sys-fs/udev/files/136/udev.confd | 21 | ||||
-rw-r--r-- | sys-fs/udev/files/136/udev.initd | 30 |
2 files changed, 50 insertions, 1 deletions
diff --git a/sys-fs/udev/files/136/udev.confd b/sys-fs/udev/files/136/udev.confd index 4abfa911674d..605078b4056a 100644 --- a/sys-fs/udev/files/136/udev.confd +++ b/sys-fs/udev/files/136/udev.confd @@ -25,3 +25,24 @@ persistent_net_disable="no" # in /etc/rc.conf: rc_hotplug="!*" or # in /etc/conf.d/rc: rc_plug_services="!*" #rc_coldplug="YES" + + + + +# Expert options: + +# Timeout in seconds to wait for processing of uevents at boot. +# There should be no need to change this. +#udev_settle_timeout="60" + +# Run udevadmin monitor to get a log of all events +# in /dev/.udev/udevmonitor.log +#udev_monitor="YES" + +# Keep udevmonitor running after populating /dev. +#udev_monitor_keep_running="no" + +# Set cmdline options for udevmonitor. +# could be some of --env --kernel --udev +#udev_monitor_opts="--env" + diff --git a/sys-fs/udev/files/136/udev.initd b/sys-fs/udev/files/136/udev.initd index 1707ccea7737..a9c98fb5cbb3 100644 --- a/sys-fs/udev/files/136/udev.initd +++ b/sys-fs/udev/files/136/udev.initd @@ -90,13 +90,39 @@ populate_dev() eend $? ebegin "Waiting for uevents to be processed" - udevadm settle --timeout=60 + udevadm settle --timeout=${udev_settle_timeout:-60} eend $? udevadm control --env do_not_run_plug_service= return 0 } +# for debugging +start_udevmonitor() +{ + yesno "${udev_monitor:-no}" || return 0 + + udevmonitor_log=/dev/.udev/udevmonitor.log + udevmonitor_pid=/dev/.udev/udevmonitor.pid + + einfo "udev: Running udevadm monitor ${udev_monitor_opts} to get a log of all events" + start-stop-daemon --start --stdout "${udevmonitor_log}" \ + --make-pidfile --pidfile "${udevmonitor_pid}" \ + --background --exec /sbin/udevadm -- monitor ${udev_monitor_opts} +} + +stop_udevmonitor() +{ + yesno "${udev_monitor:-no}" || return 0 + + if yesno "${udev_monitor_keep_running:-no}"; then + ewarn "udev: udevmonitor is still running and writing into ${udevmonitor_log}" + else + einfo "udev: Stopping udevmonitor: Log is in ${udevmonitor_log}" + start-stop-daemon --stop --pidfile "${udevmonitor_pid}" --exec /sbin/udevadm + fi +} + display_hotplugged_services() { local svcfile= svc= services= for svcfile in "${RC_SVCDIR}"/hotplugged/*; do @@ -191,11 +217,13 @@ _start() disable_hotplug_agent start_udevd || cleanup + start_udevmonitor populate_dev || cleanup check_persistent_net check_udev_works || cleanup + stop_udevmonitor return 0 } |