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

Reply via email to