Re: State of devfs in 2.6?

Rob Landley
2003-12-09T05:04:36Z

On Monday 08 December 2003 09:59, Andrew Walrond wrote:
> On Monday 08 Dec 2003 3:42 pm, William Lee Irwin III wrote:
> > I would say it's deprecated at the very least. sysfs and udev are
> > supposed to provide equivalent functionality, albeit by a somewhat
> > different mechanism.
>
> Thanks for the pointer.
>
> So how good is the device coverage offered by sysfs/udev ? Do they provide
> a viable/complete MAKEDEV replacement yet?

My understanding is that udev takes the information exported by sysfs about
what devices exist in the system, and creates device nodes in /dev (which can
be a ramfs mount or part of a persistent filesystem, udev itself doesn't
care). I'm guessing it traverses sysfs to see what the system's got on
startup (some variant of "find /sys -name device", perhaps) and then receives
hotplug events when new devices are added later. On the whole, this is
generally cool, hotplug friendly, and small and simple. _and_ the result
looks like a recognizable /dev directory, so end-user applications don't have
to be "devfs aware" (which was a bad sign from day 1 if you ask me).

Unfortunately, sysfs doesn't yet export device node information for everything
in the system yet. (There aren't any under /sys/cdev, /sys/devices/legacy,
or /sys/devices/system, for example). There are pending patches to add more,
but they're not considered bug fixes, so Linus won't take them before 2.6.0
and we'll have to wait until after 2.6.0 for development on this subsystem to
finish.

Probably somewhere in the 2.6.4 to 2.6.6 timeframe, sysfs will have all the
device exports udev needs. (Or at least all the ones anybody's complained
about yet.) Until then... dunno. Maybe you can use a /dev directory on a
persistent filesystem that you mknod any extra devices you need into
yourself?)

Rob