For a very long time my laptop (running sid for a few years now) has
been booting kind of slowly. It looked like there was a 2-3 second
delay every time a kernel module was loaded, which resulted in something
like 3 minutes total boot time. Never bothered me enough, but
yesterday I've finally got some time to investigate. After increasing the
verbosity of udev
logging in /etc/udev/udev.conf
I've found lots and lots of messages like this in the log:
Dec 18 00:41:46 droopy udevd-work[425]: wait for '/sys/some/path/bInterfaceProtocol' for 20 mseconds
The only udev
rule file containing a reference to
bInterfaceProtocol
was /etc/udev/rules.d/z60_libccid.rules
with the following lines in it:
# last file created by the kernel, if this is present everything should be
WAIT_FOR_SYSFS="bInterfaceProtocol"
The libccid
package itself is long gone (I don't remember installing
it at all), and the versions of the package starting with 1.3.4-1 (uploaded in
February 2008) do not contain this rule. However, the file survived on my
system, so this rule was continuing to trigger for every device, even the ones
not providing the bInterfaceProtocol
at all. Removing the now-redundant
file resulted in a dramatic boot speedup (it now takes about 30 seconds), so if
you are experiencing similar problems, you might want to check it out.