February 16, 2019

Linux Kernel Launches Hardware Management Features - page 3

Preparing for Liftoff

  • May 7, 2007
  • By Carla Schroder

HAL, the Hardware Abstraction Layer, maintains a database of devices on your system. You can see this by running the lshal command, which spews forth much output:

$ lshal

 udi = '/org/freedesktop/Hal/devices/pnp_PNP0303'
  info.udi = '/org/freedesktop/Hal/devices/pnp_PNP0303'  ...
  linux.subsystem = 'pnp'  (string)
  linux.hotplug_type = 1  (0x1)  (int)
  info.product = 'IBM Enhanced (101/102-key, PS/2 mouse ...
Dumped 112 device(s) from the Global Device List.

You can play with lshal a bit by putting it in monitor mode:

$ lshal --monitor
Start monitoring devicelist:
Then plug in and remove devices to see what happens.

Perhaps you are wondering why we need HAL when we already have dmesg? HAL contains a lot more information about hardware than the kernel does. The kernel doesn't need to know all that stuff; it has other jobs to do. You saw how much data HAL holds on your devices. Where does it all come from? From querying the hardware, from the kernel, from various system files, and from information collected by your desktop. In a nutshell, anything on your system that needs hardware information simply asks HAL.

Most Popular LinuxPlanet Stories