HAL is the Hardware Abstraction Layer. It is a Linux daemon that generates software events when hardware is hot plugged into the system. (USB drives, memory cards, etc). Combined with ivman, one can cause specified events to occur when hardware is plugged into the computer. For example, downloading images off a memory card or running backup software when a USB drive is attached to your computer.