Recently I saw some udev start-up error message on my Debian Lenny 5.0 system. Here are some of the messages that I was getting:
init_udevd_socket: bind failed: Address already in use
udevd: main: error initializing udevd socket
If you get messages like above during your system boot probably it means that for some reasons there are two instances of udev on your machine that are trying to start. The first instance starts normally, however when the second instance tries to start, it finds that the socket is already in use (because of the first instances) and hence it fails to start and produces error messages like above.
In order to resolve these messages do the following:
debian:~# ls /etc/init.d/ | grep udev
You should only get output as shown above.
Next, do this:
debian:~# ls -l /etc/rcS.d/ | grep udev
lrwxrwxrwx 1 root root 14 2009-04-16 12:27 S03udev -> ../init.d/udev
lrwxrwxrwx 1 root root 14 2009-04-16 12:27 S03audev -> ../init.d/udev
lrwxrwxrwx 1 root root 19 2009-07-28 12:18 S36udev-mtab -> ../init.d/udev-mtab
As you can see in the above output I have do two udev symlinks that are point to init.d/udev script. That’s the reason why we saw second instance of udev starting. This is not acceptable and we need to remove one of the symlinks like this:
debian:~# rm /etc/rcS.d/S03audev
Why this happened?
This happened because of my own mistake that I had made some time back. In order to get splashy running right at the very beginning I had do some hacking with the udev script. Later on I think when I upgraded my system, I think udev got upgraded too and generated an additional (it’s default) udev symlink in the /etc/rcS.d directory.
Still having troubles with udev?
Now if you are still having troubles with udev, then best thing would be to purge it (not un-install), reboot and then re-install it back again:
# apt-get purge udev
# shutdown -r now
# apt-get install udev
This should hopefully take care of your udev startup problems.