1.10.55 6.55. Udev-096
优质
小牛编辑
126浏览
2023-12-01
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安装的目录: /etc/udev
简要描述
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 配置文件、设备许可、设备命名规则。 |