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
  • 安装的目录:
    • /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 配置文件、设备许可、设备命名规则。
下一节:Util-linux 软件包包含许多工具。其中比较重要的是加载、卸载、格式化、分区和管理硬盘驱动器,打开 tty 端口和得到内核消息。
预计编译时间:0.2 SBU
所需磁盘空间:17.2 MB