On Tue, 13 Mar 2012 22:20:19 +0000, Alan Mackenzie wrote:

> > udev does a *lot* more than that, for example the persistent naming of
> > network interfaces. More significantly, it can run programs based on
> > device rules.
> 
> This is where I start getting unhappy.  Is there any need for this
> blurring?  Having device nodes is essential to a linux system, and
> some programs use these nodes.  Why must they be mashed together into a
> tasteless mush?  Is there some advantage to this I haven't twigged yet?

I agree with you on this. The initial creation of device nodes belongs in
early startup, running arbitrary programs does not.

> > For example, usb_modeswitch installs a udev rule to switch a 3G USB
> > modem from CD to modem mode, without which it won't work.
> 
> Same question as above: why does that switching have to be done via the
> device node system rather than via the driver.  Isn't that what drivers
> are for?

udev is not a device node system, it is a device manager. Requiring
drivers to handle it gets us into the same mess as Windows, where each
driver has to implement the same functionality itself. If a new modem is
released with a different USB ID, but using the same driver, your way
would require a new kernel, the current approach requires one line to be
added to a config file.

> > That's fine when you plug it into a running system, but when you boot
> > with it plugged in, it can trip over itself because the usb_modeswitch
> > executable is in /usr/sbin.
> 
> Er, that's a different discussion altogether.  ;-)

How so? It's central to the whole "when do we need /usr?" debate.

> > You could use this to argue that /usr should be mounted before udev is
> > started, but you could just as well use it to argue that udev should
> > not be trying to run such rules at the boot runlevel.
> 
> Or that udev shouldn't have "rules".  I still don't understand the basic
> concept driving this thing.  My HDDs don't need rules - they just need a
> mapping from /dev/sd[ab] into device 8/0 and 8/16, and the appropriate
> drivers built into my kernel.

"I don't need it so no one needs it". It sounds like what you need is
mdev, but many people want or need more from a device manager. There are
many more and varied devices than simple hard disks.

> Am I being stupid?  Despite your example above, I still don't see what
> udev is about, why it's necessary, or even why it's advantageous.

What you don't see is why *you* need it, and that's fair enough. Just
consider that it does things that others need, even if you don't.

But I still think the requirement for /usr to be mounted is a lazy, if
understandable, solution to the way udev's operations are implemented.
After all, the vast majority of PC Linux installations out there already
use an initramfs.


-- 
Neil Bothwick

How do I set my laser printer to stun?

Attachment: signature.asc
Description: PGP signature

Reply via email to