View previous topic :: View next topic |
Author |
Message |
CMoH n00b
Joined: 08 Sep 2004 Posts: 27 Location: Timisoara, Romania
|
Posted: Mon Aug 21, 2006 9:01 am Post subject: Udev timeout too short on startup of slow systems |
|
|
Hello.
I've set up an old computer as firewall on a small home network, and following some upgrades it failed to start. Following some debugging, reconfiguring etc, I've found that the problem is that udev wouldn't finish initializing /dev, thus /etc/init.d/checkroot failed because no /dev/hda1 existed yet. Entering single mode and quickly starting udevmonitor still showed events flowing.
I've fixed this by increasing the timeout in /lib/rcscripts/addon/udev-start.sh, function populate_udev. There is a while that waits for /dev/.udev/queue to disappear, or a $loop to reach 300. Increasing this to 600 fixed my system.
I suggest adding the timeout as a configuration variable in /etc/conf.d/rc (or similar). Or should I post this as a bug? |
|
Back to top |
|
|
thesnowman Guru
Joined: 08 May 2003 Posts: 365 Location: Sydney, Australia
|
Posted: Mon Aug 21, 2006 3:43 pm Post subject: |
|
|
You could try an unstable baselayout. I'm using sys-apps/baselayout-1.12.4-r6 on one system and the populate_udev function looks like this (which is different to the current stable one):
Code: | populate_udev() {
# populate /dev with devices already found by the kernel
if [ $(get_KV) -gt "$(KV_to_int '2.6.14')" ] ; then
ebegin "Populating /dev with existing devices through uevents"
local opts=
[[ ${RC_COLDPLUG} != "yes" && $(udev_version) -ge "96" ]] && \
opts="--no-scan-bus"
/sbin/udevtrigger ${opts}
eend $?
else
ebegin "Populating /dev with existing devices with udevstart"
/sbin/udevstart
eend $?
fi
# loop until everything is finished
# there's gotta be a better way...
ebegin "Letting udev process events"
/sbin/udevsettle --timeout=60
eend $?
return 0
} |
|
|
Back to top |
|
|
CMoH n00b
Joined: 08 Sep 2004 Posts: 27 Location: Timisoara, Romania
|
Posted: Mon Aug 21, 2006 4:26 pm Post subject: |
|
|
Thank you. Glad to see it's already fixed |
|
Back to top |
|
|
|