Linux - GeneralThis Linux forum is for general Linux questions and discussion.
If it is Linux Related and doesn't seem to fit in any other forum then this is the place.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
HAL is just that - a hardware abstraction layer. Its makes it easier for applications to access hardware without having to worry about what the device node is named in the /dev directory - eg. on a system with 2 SATA drives my digital camera would appear as /dev/sdc, on my system with 2 IDE hard drives it appears as /dev/sda. HAL is an attempt to insulate applications from these inconsistencies. Well at least that's the idea I got from that page redazz linked to.
udev dynamically creates device nodes in the /dev directory when you plug-in a new device. So when you plug in your digital camera (using USB) the kernel sends a hotplug event to udev, udev then creates the /dev/sdc or /dev/sda or whatever entry for your camera.
kudzu is redhat's hardware detection program (other distros have their own). When you plugin a new hard drive or network card or video card or something else kudzu (which is run on boot) will attempt to locate and load the correct modules for that device and then try and run the correct config tool (eg. the network config tool when you put in a new NIC).
Don't take all this as gospel truth though - its just what I've picked up from looking around the net.