Skip navigation

I never intended to make this blog nothing but me complaining about computers, but since no one reads it, I can indulge myself one or two more times. And to make up for it, I will post something none computer related next time.

I hate udev.

For some background, udev is the system Linux (the kernel, this has nothing to do with GNU) uses to handles devices. Back in the 2.4 series kernel, devfs was used. This was a sort of ugly system that required making device nodes for all sorts of things ahead of time and didn’t really handle removable things (like all the USB devices that are now common) very well.

udev was supposed to fix this. udev was supposed to use a set of rules to create device files (in /dev) for things when they get plugged in and set permissions for them. Somehow, this hasn’t lead to a cleaner /dev. There still seem to be just as many files pointing to nonexistent devices there. I never quite got things to work right with my Palm Tungsten E and udev. I always had to manually make links and set permissions, which is exactly what udev is supposed to prevent.

I always figured that this was partly my fault since my Gentoo installation started out with devfs and I switched to udev only when I got to a kernel that required it. But now I’ve had udev permission trouble with a digital camera on Beth’s computer which is a clean install of Ubuntu that has only had udev.

I wonder how the other free Unixes handle devices. I bet Plan 9 does something interesting.


  1. I read it.

    I think you forget how many things were listed in /dev before udev. That doesn’t help much with your camera, though.

    • Anonymous
    • Posted March 9, 2008 at 10:42 AM
    • Permalink

    It doesnt matter how many things were listed in /dev before udev, simply because udev INTRODUCED a set of new problems ON ITS OWN.

    Lets talk about XML config files. WHY, oh WHY do the Linux folks include XML all over the place – including HAL – why oh WHY do they introduce UUID labels that are NOT human readable, at config files which once were “from humans, for humans”?

    Personally I no longer care. I use ruby to generate all the things I need.

    But the thing is, it still requires work.

    Why cant new things be BETTER?

    I am extremely wary of ANYTHING that claims it will solve a problem. It needs to be tested THOROUGH, and once that works without problem, it can be accepted.

    Otherwise, it should be rejected automatically. Linux becomes a patchwork of crap this way.

    I am just glad that I have ruby.

Comments are closed.