This page was created in the hopes that some kinds soul would fill it out to give an overview of how devices are managed in linux and Debian in particular. What I have written is a rough sketch of my understanding which is lacking greatly.
I'd like to see questions like "where can I specify a script to be run when I plug in my camera or flash drive?" answered here. Is this best handled by in the hal or with the hotplug subsystem.
Device Management Overview
Kernel
Kernel and kernel modules drive the devices.
/dev
Entries in /dev give access to the devices the kernel drives. Entries here can be made by hand using command line utilities, or by a automated utility such as DevFS or ["udev"].
What should be accomplished in DevFS/["udev"] configurations?
hal
["hal"] provides an abstraction layer to the hardware so that programs can refer to a device type instead of specific device. Eg digital camera as opposed to Sony DSC-08
sysfs
Sysfs is a virtual file system provided by the 2.6 Linux kernel. Sysfs exports information about devices and drivers from the kernel device model to userspace, and is also used for configuration. See http://en.wikipedia.org/wiki/Sysfs
hotplug
manages usb, pcmcia and other hotpluggable devices.
