HOWTO: Resolving more udev issues on Debian
Purpose: Last week I wrote a post about how to resolve common udev startup error messages. It looks like there is another warning/error message that keeps popping up frequently during startup which does not get resolved by using any of the previous mentioned techniques in the last post. Here is the message:
.udev/ already exists on the static /dev!
What this message means is that there is a directory called .udev that exists under /dev – pretty self explanatory I guess. The trick is to delete the directory .udev when udev is not active otherwise the static /dev directory is always hidden. You need to remember the contents of /dev/ directory are populated on-the-fly because of udev installed. There are two methods to resolve this warning message.
Method 1: init=/bin/bash
From your bootloader menu (typically GRUB), press “e” key and add the following file to pass as a kernel parameter:
init=/bin/bash
Press “Enter” key and then the “b” key.
This will boot your system to a console and will mount your root filesystem (“/”) as read-only. Now make your root filesystem as write-able by giving the following command:
mount -o rw,remount /
Finally we can remove the offending directory to get rid of the udev warning message:
rm -rf /dev/.udev/
Now reboot your system as you would normally do and that udev warning should disappear.
Method 2: Use a LiveCD
Use any LiveCD like KNOPPIX, and mount your Linux hard drive partition on which you get the udev warning message:
mount /dev/sda1 /mnt/
Note: You need to substitute “sda1″ with your appropriate drive and partition number.
Now you can delete the .udev directory:
rm -rf /mnt/dev/.udev/
Remove the LiveCD and boot from your hard drive and the warning message should go away.
That’s it!


Email Subscription









April 10th, 2010 at 1:29 am
Hi,
I did remove the .udev directory and got rid of the warning, but for some reason udevd? still wants to rename my eth0 device to eth1. how can I stop it from doing this? thanks, John
Reply to this comment
Kushal Koolwal Reply:
February 8th, 2011 at 3:45 pm
For the ethernet device naming go to the following directory and remove any files that have “net” in their name. For example:
# cd /etc/udev/rules.d/
#ls
# rm 70-persistent-net.rules
Reboot your system and you Ethernet will assigned name eth0 instead of eth1.
Reply to this comment
February 14th, 2011 at 1:49 am
There is an easier solution. Mount your root partition under another name:
mount /dev/sda1 /mnt/XXX
Then remove /mnt/XXX/dev/.udev/ and unmount XXX.
That’s all!
Reply to this comment
March 24th, 2013 at 1:59 am
[...] a lot of articles about udev and devfs, and I found a page explaining how to solve this problem : http://linux.koolsolutions.com/2009/…ssages-debian/ But I'm not sure this is the best way to solve this, because of the power of udev. At now, I'm [...]