chiark / gitweb /
[PATCH] add udevd and udevsend to the spec file.
[elogind.git] / udev.8
diff --git a/udev.8 b/udev.8
index d36145f43b43a28f1b90bb09b6a178d225ad1359..0c8f2b1e6090acc285ab12b3c23b8daec29dfaa9 100644 (file)
--- a/udev.8
+++ b/udev.8
@@ -18,14 +18,14 @@ On device creation,
 .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 
-to determine a unique name for device file creation.
+These attributes may used as keys to determine a
+unique name for device file creation.
 .B udev
 maintains a database for devices present on the system.
 .br
 On device removal,
 .B udev
-queries the internal database for the name of the device file to be deleted.
+queries its database for the name of the device file to be deleted.
 .SH "CONFIGURATION"
 All
 .B udev
@@ -61,6 +61,16 @@ This is the location of the udev permission file.  The default value for this is
 This is the default mode for all nodes that have no explicit match in the
 permissions file.  The default value for this is
 .I 0666
+.TP
+.B default_owner
+This is the default owner for all nodes that have no explicit match in the
+permissions file.  The default value for this is
+.I root
+.TP
+.B default_group
+This is the default group for all nodes that have no explicit match in the
+permissions file.  The default value for this is
+.I root
 .br
 .P
 .RI "A sample " udev.conf " might look like this:
@@ -78,62 +88,71 @@ udev_rules="/etc/udev/udev.rules"
 # 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"
+
+# default_owner - set the default owner for all nodes that have no
+#                 explicit match in the permissions file
+default_owner="root"
+
+# default_group - set the default group for all nodes that have no
+#                 explicit match in the permissions file
+default_group="root"
 .fi
 .P
 The rules for udev to use when naming devices may specified at
 .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. One ore more optional symlinks targeting the node may be specified.
+Every line in the rules file defines the mapping between device attributes
+and the device file name. One ore more keys are specified to match a rule
+with the current device. If all keys are matching, the rule will be applied
+and the name is used for the device node. One or more optional symlinks
+targeting the node may be specified.
 .br
-If no matching configuration is found, the default kernel device name
-is used.
+If no matching rule is found, the default kernel device name is used.
 .P
 The line format is:
 .sp
-.I method, key,[key,...] name [, symlink]
+.I key,[key,...] name [, symlink]
 .sp
-where valid methods with corresponding keys are:
+where keys are:
 .TP
-.B CALLOUT
-calling external program, that returns a string to match
-.br
-.RB "keys: " BUS ", " PROGRAM ", " ID
+.B BUS
+Match the bus type of the device.
+(The sysfs device bus must be able to be determined by a "device" symlink.)
 .TP
-.B LABEL
-device label or serial number, like USB serial number, SCSI UUID or
-file system label
-.br
-.RB "keys: " BUS ", "
-.I sysfs_attribute
+.B KERNEL
+Match the kernel device name.
 .TP
-.B NUMBER
-device number on the bus, like PCI bus id
-.br
-.RB "keys: " BUS ", " ID
+.B ID
+Match the device number on the bus, like PCI bus id.
 .TP
-.B TOPOLOGY
-device position on bus, like physical port of USB device
-.br
-.RB "keys: " BUS ", " PLACE
+.B PLACE
+Match the topological position on bus, like physical port of USB device
 .TP
-.B REPLACE
-string replacement of the kernel device name
-.br
-.RB "key: " KERNEL_NAME
-.P
-The methods are applied in the following order:
-.BR CALLOUT ", " LABEL ", " NUMBER ", " TOPOLOGY ", " REPLACE "."
+.BI SYSFS_ filename
+Match sysfs device attribute like label, vendor, USB serial number, SCSI UUID
+or 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.
+.TP
+.B PROGRAM
+Call external program. This key is valid if the program returns successful.
+The string returned by the program may additionally matched with the
+.B RESULT
+key.
+.TP
+.B RESULT
+Match the returned string of the last
+.B PROGRAM
+call. This key may used in any following rule after a
+.B PROGRAM
+call.
 .P
 .RB "The " NAME " ," SYMLINK " and " PROGRAM
 fields support simple printf-like string substitution:
@@ -142,6 +161,9 @@ fields support simple printf-like string substitution:
 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
@@ -152,34 +174,39 @@ The kernel minor number for the device.
 The bus id for the device.
 .TP
 .B %c
-The CALLOUT program returned string.
-(This does not work within the PROGRAM field for the obvious reason.)
+The
+.B PROGRAM
+returned string.
+(This does not work within the
+.B PROGRAM
+field for the obvious reason.)
 .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 'disc'.
+.B %%
+The '%' char itself.
 .P
 .RI "A sample " udev.rules " might look like this:"
 .sp
 .nf
 # if /sbin/scsi_id returns "OEM 0815" device will be called disk1
-CALLOUT, BUS="scsi", PROGRAM="/sbin/scsi_id", ID="OEM 0815", NAME="disk1"
+BUS="scsi", PROGRAM="/sbin/scsi_id", RESULT="OEM 0815", NAME="disk1"
 
 # USB printer to be called lp_color
-LABEL, BUS="usb", serial="W09090207101241330", NAME="lp_color"
+BUS="usb", SYSFS_serial="W09090207101241330", NAME="lp_color"
+
+# SCSI disk with a specific vendor and model number is to be called boot
+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"
+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"
+BUS="usb", PLACE="2.3", NAME="mouse1"
 
 # ttyUSB1 should always be called pda with two additional symlinks
-REPLACE, KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
+KERNEL="ttyUSB1", NAME="pda", SYMLINK="palmtop handheld"
 
 # multiple USB webcams with symlinks to be called webcam0, webcam1, ...
-LABEL, BUS="usb", model="WebCam V3", NAME="video%n", SYMLINK="webcam%n"
+BUS="usb", SYSFS_model="XV3", NAME="video%n", SYMLINK="webcam%n"
 .fi
 .P
 Permissions and ownership for the created device files may specified at
@@ -232,6 +259,7 @@ following the '[' is a '!' then any character not enclosed is matched.
 .fi
 .LP
 .SH "SEE ALSO"
+.BR udevinfo (8),
 .BR hotplug (8)
 .PP
 The