- 首页
- 作品
- Linux 系统构建指南
- 6.55. Udev-096
6.55. Udev-096
Udev 软件包包含动态地创建设备节点的程序。
预计编译时间:0.1 SBU
所需磁盘空间:6.8 MB
6.55.1. 安装 Udev
- udev-config 压缩包里面包含用配置 Udev 的 LFS-specific 文件。把它解压到 Udev 的源码目录:
tar xf ../udev-config-6.2.tar.bz2
- 创建一些Udev无法创建的设备和目录,因为这些会在系统启动的早些时候被用到:
install -dv /lib/{firmware,udev/devices/{pts,shm}}
mknod -m0666 /lib/udev/devices/null c 1 3
ln -sv /proc/self/fd /lib/udev/devices/fd
ln -sv /proc/self/fd/0 /lib/udev/devices/stdin
ln -sv /proc/self/fd/1 /lib/udev/devices/stdout
ln -sv /proc/self/fd/2 /lib/udev/devices/stderr
ln -sv /proc/kcore /lib/udev/devices/core
- 编译软件包:
make EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id
extras/firmware extras/floppy extras/path_id
extras/scsi_id extras/usb_id extras/volume_id"
- make 选项的含义:
EXTRAS=...
:这将会编译一些帮助程序,对定制Udev的规则很有帮助。
- 要测试结果,请运行:
make test
。
- 注意,Udev的测试单元会在宿主系统的日志中产生很多信息。这些都是无害的,可以被忽略掉。
- 安装软件包:
make DESTDIR=/
EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id
extras/firmware extras/floppy extras/path_id
extras/scsi_id extras/usb_id extras/volume_id" install
- make 参数的含义:
DESTDIR=/
:防止编译 Udev 的进程杀死可能存在于宿主系统中的 udevd 进程。
- Udev 要工作,需要配置才可以。因为默认是不安装任何配置文件的。安装 LFS-specific 配置文件:
cp -v udev-config-6.2/[0-9]* /etc/udev/rules.d/
- 安装解释如何创建 Udev 规则的文档:
install -m644 -D -v docs/writing_udev_rules/index.html
/usr/share/doc/udev-096/index.html
6.55.2. Udev 的内容
- 安装的程序:
- ata_id, cdrom_id, create_floppy_devices, edd_id, firmware_helper, path_id, scsi_id, udevcontrol, udevd, udevinfo, udevmonitor, udevsettle, udevtest, udevtrigger, usb_id, vol_id, write_cd_aliases
- 安装的目录:
- 简要描述:
- ata_id:为 Udev 提供关于 ATA 驱动器的一个唯一的字符串和一些附加信息(uuid,label等)
- cdrom_id:为 Udev 提供 CD-ROM 或 DVD-ROM 驱动器的性能
- create_floppy_devices:创建所有可能的 CMOS 类型的 floppy 设备
- edd_id:为 Udev 提供关于 BIOS 磁盘驱动器的 EDD ID
- firmware_helper:为设备加载 firmware
- path_id:提供设备的最短的唯一的硬件路径
- scsi_id:根据向特定设备发送SCSI INQUIRY命令的返回信息,为 Udev 提供一个唯一的 SCSI 标识符
- udevcontrol:为运行 udevd 守护进程,配置一些选项。比如,log level。
- udevd:一个守护进程,侦听热插拔事件,并针对事件,创建设备,运行配置好的外部程序。
- udevinfo:允许用户查询 udev 数据库以得到当前这个系统上所有设备的信息,它也提供一种方式去查询任何设备在 sysfs 树里去帮助创建 Udev 规则。
- udevmonitor:打印出从Udev的规则运行之后,收到的内核事件和 Udev 发出的环境变量。
- udevsettle:监视 Udev 的事件队列,如果当前热插拔事件被处理完就立即退出。
- udevtest:模拟一个 udev 为那些给定的设备,并且打印出真实节点的名称 udev 可能已经被创建或者(不在LFS中)被重命名的网络接口。
- udevtrigger:重新切换到内核空间的热插拔事件处理
- usb_id:为 Udev 提供关于 USB 设备的信息
- vol_id:为 Udev 提供一个文件系统的 label 和 uuid
- /etc/udev:包含 udev 配置文件、设备许可、设备命名规则。
下一节:Util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理硬盘驱动器,打开 tty 端口和得到内核消息。
预计编译时间:0.2 SBU
所需磁盘空间:17.2 MB