udev配置文件是/etc/udev/udev.conf,也许长这样:
# udev.conf # The initial syslog(3) priority: "err", "info", "debug" or its # state can be changed with: "udevcontrol log_priority=<value>". udev_root="/dev/" udev_rules="/etc/udev/rules.d" udev_log="err"
udev_rules这一行表示udev的规则存储的目录,这个目录存储的是以.rules结束的文件。每一个文件处理一系列规则来帮助udev分配名字给设备文件以保证能被内核识别。
一般/etc/udev/rules.d下面可能有好几个udev规则文件,这些文件一部分是udev包安装的,另外一部分则是可能是别的硬件或者软件包生成的。这些规则文件的文件名通常是两个数字开头,它表示系统应用该规则的顺序,数字越小优先级越高。
/etc/udev/rules.d/11-usb-hotplug.rules 检测U盘的文件也许长这样:
KERNEL=="sd*", SUBSYSTEM=="block", RUN+="/etc/udev/disk-hotplug.sh"
这一行字面意思可以理解为有节点 /dev/sd* 创建的话,就会去执行 /etc/udev/disk-hotplug.sh 这个脚本
sd*的*是通配符,包含sda/sda1/sda2...,sdb/sdb1/sdb2...
/etc/udev/disk-hotplug.sh 可以这样写:
#!/bin/sh ################################################################################ # Create By Czy ################################################################################ ################################################################################ CONSOLE=/dev/ttyAMA0 ################################################################################ show_env () { local RED="