Dan McGhee wrote:
Matthew Burgess wrote:
Dan McGhee wrote:
My question is this: After backing up the scripts I have changed in
both /etc/sysconfig and /etc/rc.d/init.d, can I just run the
"install" commands for the udev packages and the bootscripts?
Yes, updating to lfs-bootscripts-3.2.2, udev-058 and the newer udev
rules file should be safe enough to do. udev-059 was recently
released, though it included major changes which we haven't been able
to assess the affects of yet, so I'd strongly suggest you stick with
udev-058 for now.
Thanks, Matt. Updated to the 3.2.2 bootscripts and the udev -058. I
know have 100% printer reliability. Haven't had a chance yet to try the
camera.
In LFS what is the sequence of events that starts on a hotplug event?
Just for sake of argument let's say I turn on my printer. After reading
quite a bit of stuff about udev and hotplug, I'm confused. It's
entirely possible that I'm being really dense here, but let me quote
from the man pages--it's a summary of what goes on:
UDEVSEND: udevd receives the events from udevsend which is called by
hotplug(8)
HOTPLUG (8): [Some stuff about what hotplug does] The hotplug program
path name is registered in /proc/sys/kernel/hotplug, and normally holds
the value /sbin/hotplug. [Stuff about agents and cold-plugging]
Here's my take on what happens: Printer on---hoplug calls
udevsend---udevsend starts udevd. I know that's oversimplified. The
reason I'm asking is that both before AND after I upgraded 'cat
/proc/sys/kernel/hotplug' gives me '/sbin/udevsend'. I would appreciate
it if someone could point me to a document that contains of sequence of
events or just lay it out here.
Well, this is an interesting point. I was going to point you at
http://www.linuxfromscratch.org/lfs/view/6.1-pre1/chapter07/udev.html
(7.4.2, paragraph 4 in particular), but that completely fails to mention
how the driver modules are actually loaded, in order to register
themselves in /sys).
Anyone care to hit me with the cluebat on this one? So far the chain of
events is:
Kernel generates hotplug event
|
v
`udevsend' receives hotplug events (it's registered as the hotplug event
handler by S10udev)
|
v
`udevsend' walks through /sys until a match for the hotplug event is
called. It then uses the information in /sys to create the device node.
Now, with modules, I know that `hotplug' gets called, and it is this
that loads the correct module (via the /etc/hotplug/*.rc scripts), but
who calls `hotplug', how does it know to call `hotplug' and how does
`hotplug' know which module to load? I'm wondering if it's as simple as
calling `hotplug' being the default failure case if the last step in
the diagram above doesn't find a matching entry in /sys for the hotplug
event it's dealing with?
I think getting that information into 7.4 would do wonders to finally
put to bed the mystery that is dynamic /dev and modular drivers!
Cheers,
Matt.
--
http://linuxfromscratch.org/mailman/listinfo/lfs-support
FAQ: http://www.linuxfromscratch.org/lfs/faq.html
Unsubscribe: See the above information page