.B udev
reads the sysfs directory of the given device to collect device attributes
like label, serial number or bus device number.
-These attributes are treated as a key
+These attributes are treated as a key
to determine a unique name for device file creation.
.B udev
maintains a database for devices present on the system.
# udev_permissions - The name and location of the udev permission file
udev_permissions="/etc/udev/udev.permissions"
-# default_mode - set the default mode for all nodes that have no
+# default_mode - set the default mode for all nodes that have no
# explicit match in the permissions file
default_mode="0666"
.fi
.I /etc/udev/udev.rules
or specified by the
.I udev_rules
-value in the
+value in the
.I /etc/udev/udev.conf
file.
.P
Every line in the rules file define the mapping between device attributes and
the device file name. It starts with a keyword defining the method used to
match, followed by one ore more keys to compare and the filename for the
-device. Optional the name for a symlink targeting the node may specified.
+device. One ore more optional symlinks targeting the node may be specified.
.br
If no matching configuration is found, the default kernel device name
is used.
where valid methods with corresponding keys are:
.TP
.B CALLOUT
-calling external program, that returns a string to match
+calling external program, that returns a string to match. The
+.B BUS
+key is optional, but if specified, the sysfs device bus must be able to be
+determined by a "device" symlink.
.br
.RB "keys: " BUS ", " PROGRAM ", " ID
.TP
.B LABEL
device label or serial number, like USB serial number, SCSI UUID or
-file system label
+file system label. Up to 5 different sysfs files can be checked, with
+all of the values being required in order to match the rule. The
+.B BUS
+key is optional, but if specified, the sysfs device bus must be able to be
+detemined by a "device" symlink.
.br
-.RB "keys: " BUS ", "
-.I sysfs_attribute
+.RB "keys: " BUS ", " SYSFS_
.TP
.B NUMBER
device number on the bus, like PCI bus id
.B REPLACE
string replacement of the kernel device name
.br
-.RB "key: " KERNEL_NAME
+.RB "key: " KERNEL
.P
The methods are applied in the following order:
.BR CALLOUT ", " LABEL ", " NUMBER ", " TOPOLOGY ", " REPLACE "."
The "kernel number" of the device.
for example, 'sda3' has a "kernel number" of '3'
.TP
+.B %k
+The "kernel name" for the device.
+.TP
.B %M
The kernel major number for the device.
.TP
.B %D
Use the devfs style disk name for this device.
For partitions, this will result in 'part%n'
-If this is not a partition, it will result in 'disk'.
+If this is not a partition, it will result in 'disc'.
.P
.RI "A sample " udev.rules " might look like this:"
.sp
CALLOUT, BUS="scsi", PROGRAM="/sbin/scsi_id", ID="OEM 0815", NAME="disk1"
# USB printer to be called lp_color
-LABEL, BUS="usb", serial="W09090207101241330", NAME="lp_color"
+LABEL, BUS="usb", SYSFS_serial="W09090207101241330", NAME="lp_color"
+
+# SCSI disk with a specific vendor and model number is to be called boot
+LABEL, BUS="scsi", SYSFS_vendor="IBM", SYSFS_model="ST336", NAME="boot%n"
# sound card with PCI bus id 00:0b.0 to be called dsp
NUMBER, BUS="pci", ID="00:0b.0", NAME="dsp"
# USB mouse at third port of the second hub to be called mouse1
TOPOLOGY, BUS="usb", PLACE="2.3", NAME="mouse1"
-# ttyUSB1 should always be called pda
-REPLACE, KERNEL="ttyUSB1", NAME="pda"
+# ttyUSB1 should always be called pda with two additional symlinks
+REPLACE, KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
-# USB webcams with symlinks to be called webcam0, webcam1, ...
-LABEL, BUS="usb", model="WebCam Version 3", NAME="video%n", SYMLINK="webcam%n"
+# multiple USB webcams with symlinks to be called webcam0, webcam1, ...
+LABEL, BUS="usb", SYSFS_model="XV3", NAME="video%n", SYMLINK="webcam%n"
.fi
.P
Permissions and ownership for the created device files may specified at