%general-entities; ]> eudev &eudev-version;
&eudev-url;
Eudev-&eudev-version; Eudev <para>The Eudev package contains programs for dynamic creation of device nodes.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&eudev-ch6-sbu;</seg> <seg>&eudev-ch6-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Installation of Eudev First, add a workaround to prevent the /tools directory from being hard coded into Eudev binary files library locations: cat > config.cache << "EOF" HAVE_BLKID=1 BLKID_LIBS="-lblkid" BLKID_CFLAGS="-I/tools/include" EOF Prepare Eudev for compilation: ./configure --prefix=/usr \ --bindir=/sbin \ --sbindir=/sbin \ --libdir=/usr/lib \ --sysconfdir=/etc \ --libexecdir=/lib \ --with-rootprefix= \ --with-rootlibdir=/lib \ --enable-manpages \ --disable-static \ --config-cache Compile the package: LIBRARY_PATH=/tools/lib make The LIBRARY_PATH variable here and the LD_LIBRARY_PATH variable below are needed to allow the use of libraries that were installed in /tools, but have not yet been installed in the main system. LIBRARY_PATH is used to find libraries during the linking process. LD_LIBRARY_PATH is used to find libraries during program execution. Create some directories now that are needed for tests, but will also be used as a part of installation: mkdir -pv /lib/udev/rules.d mkdir -pv /etc/udev/rules.d To test the results, issue: make LD_LIBRARY_PATH=/tools/lib check Install the package: make LD_LIBRARY_PATH=/tools/lib install Install some custom rules and support files useful in an LFS environment: tar -xvf ../&udev-lfs-version;.tar.bz2 make -f &udev-lfs-version;/Makefile.lfs install Installation of Eudev - 32-bit Clean previous build: make distclean Prepare Eudev for compilation: CC="gcc -m32" \ ./configure --host=i686-pc-linux-gnu \ --prefix=/usr \ --bindir=/sbin \ --sbindir=/sbin \ --libdir=/usr/lib32 \ --sysconfdir=/etc \ --libexecdir=/lib32 \ --with-rootprefix= \ --with-rootlibdir=/usr/lib32 \ --disable-manpages \ --disable-static \ --config-cache Compile the package: make Install the package: make DESTDIR=$PWD/DESTDIR install cp -Rv DESTDIR/usr/lib32/* /usr/lib32 rm -rf DESTDIR Installation of Eudev - x32-bit Clean previous build: make distclean Prepare Eudev for compilation: CC="gcc -mx32" \ ./configure --prefix=/usr \ --bindir=/sbin \ --sbindir=/sbin \ --libdir=/usr/libx32 \ --sysconfdir=/etc \ --libexecdir=/libx32 \ --with-rootprefix= \ --with-rootlibdir=/usr/libx32 \ --disable-manpages \ --disable-static \ --config-cache Compile the package: make Install the package: make DESTDIR=$PWD/DESTDIR install cp -Rv DESTDIR/usr/libx32/* /usr/libx32 rm -rf DESTDIR Configuring Eudev Eudev configuring /etc/udev/hwdb.bin Information about hardware devices is maintained in the /etc/udev/hwdb.d and /lib/udev/hwdb.d directories. Eudev needs that information to be compiled into a binary database /etc/udev/hwdb.bin. Create the initial database: LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update This command needs to be run each time the hardware information is updated. Contents of Eudev Installed programs Installed libraries Installed directories udevadm and udevd libudev.so /etc/udev, /lib/udev, and /usr/share/doc/udev-&udev-lfs-version; Short Descriptions udevadm Generic udev administration tool: controls the udevd daemon, provides info from the Udev database, monitors uevents, waits for uevents to finish, tests Udev configuration, and triggers uevents for a given device udevadm udevd A daemon that listens for uevents on the netlink socket, creates devices and runs the configured external programs in response to these uevents udevd libudev A library interface to udev device information libudev /etc/udev Contains Udev configuration files, device permissions, and rules for device naming /etc/udev