HAL

From CBLFS
Revision as of 00:29, 3 December 2006 by Kalessin (talk | contribs) (I added the package description from BLFS.)
Jump to navigationJump to search
Download Source: http://people.freedesktop.org/~david/dist/hal-0.5.8.1.tar.gz

Introduction to HAL

HAL is a hardware abstraction layer, which is a piece of software that provides a view of the various hardware attached to a system. In addition to this, HAL keeps detailed metadata for each piece of hardware and provides hooks such that system and desktop-level software can react to changes in the hardware configuration in order to maintain system policy.

The most important goal of HAL is to provide plug-and-play facilities for UNIX-like desktops with focus on providing a rich and extensible description of device characteristics and features. One example of the functionality provided by HAL is when you plug in a USB storage device. HAL can automatically create a mount point in /media and mount the device.

Dependencies

As of hal-0.5.8 libvolume_id.so (From Udev) is a required dependency. On multilib systems you must have more then one copy of this library, (32bit,64bit,N32). Please refer to the clfs-svn book for information on configuring a multilib udev. WARNING: Installing a newer or older version of udev then what is currently installed on your system can cause problems booting because of the frequent changes in the rules format. Please use the same version you currently have, or make the appropriate changes/upgrades to your rule set.

Required

Reccomended

Optional

HalDaemon User/Group

groupadd -g 19 haldaemon &&
useradd -c "HAL Daemon User" -d /dev/null \
        -u 19 -g haldaemon -s /bin/false haldaemon

Configuration Information

If you have Parted installed and you would like to link HAL against libparted pass the following to configure:

--enable-parted

Non-Multilib

Compile the package:

./configure --prefix=/usr --sysconfdir=/etc \
    --libexecdir=/usr/lib/hal --localstatedir=/var &&
make

Install the package

make install &&
install -v -m755 -d /var/run/hald

Multilib

32Bit

Compile the package:

export USE_ARCH=32 &&
CC="gcc ${BUILD32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \
./configure --prefix=/usr --sysconfdir=/etc \
    --libexecdir=/usr/lib/hal --localstatedir=/var &&
make

Install the package

make install &&
unset USE_ARCH

N32

export USE_ARCH=n32 &&
CC="gcc ${BUILDN32}" PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" \
./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib32 \
    --libexecdir=/usr/lib/hal --localstatedir=/var &&
make

Install the package

make install &&
unset USE_ARCH

64Bit

export USE_ARCH=64 &&
CC="gcc ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib64 \
    --libexecdir=/usr/lib/hal --localstatedir=/var &&
make

Install the package

make install &&
unset USE_ARCH &&
install -v -m755 -d /var/run/hald

Configuration

Bootscript

Install the bootscript from the blfs-bootscripts package with the following command:

make install-haldaemon