Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Udev timeout too short on startup of slow systems
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
CMoH
n00b
n00b


Joined: 08 Sep 2004
Posts: 27
Location: Timisoara, Romania

PostPosted: Mon Aug 21, 2006 9:01 am    Post subject: Udev timeout too short on startup of slow systems Reply with quote

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
View user's profile Send private message
thesnowman
Guru
Guru


Joined: 08 May 2003
Posts: 365
Location: Sydney, Australia

PostPosted: Mon Aug 21, 2006 3:43 pm    Post subject: Reply with quote

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
View user's profile Send private message
CMoH
n00b
n00b


Joined: 08 Sep 2004
Posts: 27
Location: Timisoara, Romania

PostPosted: Mon Aug 21, 2006 4:26 pm    Post subject: Reply with quote

Thank you. Glad to see it's already fixed :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum