On Tue, Mar 13, 2012 at 04:38:08PM -0600, Canek Peláez Valdés wrote:
> On Tue, Mar 13, 2012 at 4:20 PM, Alan Mackenzie <a...@muc.de> wrote:
> > Hello, Neil.

> > On Tue, Mar 13, 2012 at 09:33:30PM +0000, Neil Bothwick wrote:
> >> On Tue, 13 Mar 2012 21:07:37 +0000, Alan Mackenzie wrote:

> >> > But I really meant what functionality udev has that mdev lacks.  For
> >> > example, mdev this morning recognised my USB stick being inserted, and
> >> > created /dev/sdc for it.

> >> 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?

> >> 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?

> >> 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.  ;-)

> >> 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.

> > 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.

> IMHO, the thing that most people are missing is the fact that neither
> udev nor Linux "got complicated". The computing world itself "got
> complicated".

Not really.  It's been getting more complicated since long before I
starting working in it in 1980.  Nothing's changed there.

> We have Linux running in the same beige machines it has been running
> since 1991, but it also runs in TVs, tablets, cellphones, fridges,
> cars, ebook readers, and (soon enough, I'm sure) the kitchen sink.
> This devices behave very differently from our old and beloved beige
> boxen.

Not at the level of needing device nodes under /dev and drivers connected
to them, they haven't.

> They need to handle lots of different hardware comming and going, via
> USB, Firewire, Bluetooth, WIMAX, and who knows what else in the future.

Yes.  That's why there's a generic facility for building arbitrary
drivers into a kernel.  That's not new either.

> The principal idea behind udev, is that we *don't* kown (we *can't*
> know) what hardware this or that machine is gonna have at some point.
> And we want the machine (and the new hardware) to "just work" when
> they are connected.

Huh?  What's that to do with udev?  You're talking at far too high a
level of abstraction.  The new hardware will "just work" if there are the
correct drivers built in.  That's as true of udev as it is of mdev as it
is of the old static /dev with mknod.

[ .... ]

> So, yeah, it's more complicated. The world got complicate; better get
> used to it.

You're bluffing, aren't you?  You really don't have any more idea than I
do about the technical motivation for udev, do you?

> Regards.
> -- 
> Canek Peláez Valdés
> Posgrado en Ciencia e Ingeniería de la Computación
> Universidad Nacional Autónoma de México

-- 
Alan Mackenzie (Nuremberg, Germany).

Reply via email to