summaryrefslogtreecommitdiff
path: root/sys-fs
diff options
context:
space:
mode:
authorMatthias Schwarzott <zzam@gentoo.org>2009-01-22 11:41:37 +0000
committerMatthias Schwarzott <zzam@gentoo.org>2009-01-22 11:41:37 +0000
commit75a2076e179864b2fb638a36e619a485bcf265e9 (patch)
tree6722e0c5c80da6a976cf63929477dfce26fe9d98 /sys-fs
parentVersion bump. (diff)
downloadgentoo-2-75a2076e179864b2fb638a36e619a485bcf265e9.tar.gz
gentoo-2-75a2076e179864b2fb638a36e619a485bcf265e9.tar.bz2
gentoo-2-75a2076e179864b2fb638a36e619a485bcf265e9.zip
Add expert options to change udevsettle timeout and to run udevmonitor at boot time to catch all events.
(Portage version: 2.1.6.6/cvs/Linux 2.6.27-gentoo-r1 i686)
Diffstat (limited to 'sys-fs')
-rw-r--r--sys-fs/udev/ChangeLog7
-rw-r--r--sys-fs/udev/files/136/udev.confd21
-rw-r--r--sys-fs/udev/files/136/udev.initd30
3 files changed, 56 insertions, 2 deletions
diff --git a/sys-fs/udev/ChangeLog b/sys-fs/udev/ChangeLog
index 44fc08b25ced..adb8f59a6337 100644
--- a/sys-fs/udev/ChangeLog
+++ b/sys-fs/udev/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-fs/udev
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.439 2009/01/22 11:18:06 zzam Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-fs/udev/ChangeLog,v 1.440 2009/01/22 11:41:37 zzam Exp $
+
+ 22 Jan 2009; Matthias Schwarzott <zzam@gentoo.org> files/136/udev.confd,
+ files/136/udev.initd:
+ Add expert options to change udevsettle timeout and to run udevmonitor at
+ boot time to catch all events.
22 Jan 2009; Matthias Schwarzott <zzam@gentoo.org> udev-9999.ebuild:
Also set HOMEPAGE after inherit, Bug #255953.
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
}