%general-entities; ]> eudev &eudev-version;
&eudev-url;
Eudev-&eudev-version; Eudev <para>Eudev 软件包包含动态创建设备节点的程序。</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>安装 Eudev 采用一个规避措施,防止 /tools 目录被硬编码到 Eudev 二进制文件的库文件位置中: cat > config.cache << "EOF" HAVE_BLKID=1 BLKID_LIBS="-lblkid" BLKID_CFLAGS="-I/tools/include" EOF 准备安装 Eudev: ./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 编译该软件包: LIBRARY_PATH=/tools/lib make 这里的 LIBRARY_PATH 变量和下面的 LD_LIBRARY_PATH 允许使用 /tools 中存在,但尚未安装到主系统中的库。LIBRARY_PATH 被用于在链接过程中查找库,LD_LIBRARY_PATH 用于在程序执行过程中查找库。 创建一些目录,它们目前被用于测试,但之后也会成为安装好的 eudev 的一部分。 mkdir -pv /lib/udev/rules.d mkdir -pv /etc/udev/rules.d 运行以下命令以测试编译结果: make LD_LIBRARY_PATH=/tools/lib check 安装该软件包: make LD_LIBRARY_PATH=/tools/lib install 安装一些在 LFS 环境中很有用的自定义规则和支持文件: tar -xvf ../&udev-lfs-version;.tar.bz2 make -f &udev-lfs-version;/Makefile.lfs install 配置 Eudev Eudev configuring /etc/udev/hwdb.bin 硬件设备的相关信息被维护在 /etc/udev/hwdb.d/lib/udev/hwdb.d 目录中。 Eudev 需要将这些信息编译到二进制数据库 /etc/udev/hwdb.bin 中。初始化该数据库: LD_LIBRARY_PATH=/tools/lib udevadm hwdb --update 每次硬件信息有更新时,都要运行该命令。 Eudev 的内容 安装的程序 安装的库 安装的目录 udevadm 和 udevd libudev.so /etc/udev, /lib/udev, 以及 /usr/share/doc/udev-&udev-lfs-version; 简要描述 udevadm 通用 udev 管理工具:控制 udevd 守护进程, 从 udev 数据库中提供信息,监视 uevent,等待 uevent 完成, 测试 udev 配置,并为指定设备触发 uevent。 udevadm udevd 一个守护进程,它在 netlink 套接字上监听 uevent, 并创建设备节点、运行配置好的外部程序,以响应这些 uevent。 udevd libudev 一个提供 udev 设备信息接口的库 libudev /etc/udev 包含 udev 配置文件、设备权限设置和设备命名规则 /etc/udev