X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=udev.8;h=3eb4aecad27b8adbbe3f92f1709d214cb867b10c;hp=bac35b091d53447c10d4d56a333c3b63408fb839;hb=ac28b86d631f23b5df74dbeb33e76a2b3f5d88bb;hpb=fc1f0d43267be8bfc1a4afd79532e081921589e1 diff --git a/udev.8 b/udev.8 index bac35b091..3eb4aecad 100644 --- a/udev.8 +++ b/udev.8 @@ -3,6 +3,9 @@ udev \- Linux configurable dynamic device naming support .SH SYNOPSIS .BI udev " hotplug-subsystem" +.br +.B udev +.RI "[-q " sysfs_path "] [-rVh]" .SH "DESCRIPTION" .B udev creates or removes device node files usually located in the /dev directory. @@ -18,7 +21,7 @@ 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 +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. @@ -26,8 +29,31 @@ maintains a database for devices present on the system. On device removal, .B udev queries the internal database for the name of the device file to be deleted. +.SH "OPTIONS" +.B udev +normally is called by +.B hotplug +with the subsystem as argument and various environment variables set. +.br +It may also called with the following options: +.TP +.B -V +Print the version information. +.TP +.B -r +Print the the +.B udev +root directory. +.TP +.BI -q " sysfs_path" +Query with the sysfs path as argument for the name of the created device node. +.TP +.B -h +Print help text. .SH "CONFIGURATION" -All udev configuration files consist of a set of lines of text. All empty +All +.B udev +configuration files consist of a set of lines of text. All empty lines, and lines beginning with a '#' will be ignored. .P @@ -61,7 +87,7 @@ permissions file. The default value for this is .I 0666 .br .P -A sample \fIudev.conf\fP might look like this: +.RI "A sample " udev.conf " might look like this: .sp .nf # udev_root - where in the filesystem to place the device nodes @@ -76,108 +102,114 @@ 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" .fi .P The rules for udev to use when naming devices may specified at .I /etc/udev/udev.rules -or specified by the +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. If no matching configuration is found, the default kernel device name +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. .P The line format is: -.RS .sp -.I method, key,[key,...] name +.I method, key,[key,...] name [, symlink] .sp -.RE 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 -keys: \fBBUS\fP, \fBPROGRAM\fP, \fBID\fP +.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 -keys: \fBBUS\fP, \fIsysfs_attribute\fP +.RB "keys: " BUS ", " SYSFS_ .TP .B NUMBER device number on the bus, like PCI bus id .br -keys: \fBBUS\fP, \fBID\fP +.RB "keys: " BUS ", " ID .TP .B TOPOLOGY device position on bus, like physical port of USB device .br -keys: \fBBUS\fP, \fBPLACE\fP +.RB "keys: " BUS ", " PLACE .TP .B REPLACE string replacement of the kernel device name .br -key: \fBKERNEL_NAME\fP +.RB "key: " KERNEL +.TP +.B IGNORE +tell udev to not care about creation of this device, e.g. because the +device is already handled by another program +.br +.RB "key: " KERNEL .P The methods are applied in the following order: -.B CALLOUT -, -.B LABEL -, -.B NUMBER -, -.B TOPOLOGY -, -.B REPLACE +.BR IGNORE ", " CALLOUT ", " LABEL ", " NUMBER ", " TOPOLOGY ", " REPLACE "." .P -The -.B NAME -and -.B PROGRAM -fields support simple printf-like string subtitution: -.RS +.RB "The " NAME " ," SYMLINK " and " PROGRAM +fields support simple printf-like string substitution: .TP .B %n -the "kernel number" of the device +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 +The kernel major number for the device. .TP .B %m -the kernel minor number for the device +The kernel minor number for the device. .TP .B %b -the bus id 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 CALLOUT program returned string. +(This does not work within the 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 'disk' -.RE +If this is not a partition, it will result in 'disc'. .P -A sample \fIudev.rules\fP might look like this: +.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" # 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" @@ -185,32 +217,31 @@ 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 to be called webcam0, webcam1, ... -LABEL, BUS="usb", model="WebCam Version 3", NAME="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 .I /etc/udev/udev.permissions -or specified by the +or specified by the .I udev_permission -value in the +value in the .I /etc/udev/udev.conf file. .br Every line lists a device name followed by owner, group and permission mode. All values are separated by colons. The name field may contain a -wildcard to apply the values to a whole class of devices. +pattern to apply the values to a whole class of devices. .br If .B udev was built using klibc or is used before the user database is accessible (e.g. -.B initrd -), only numeric owner and group values may be used. +.BR initrd "(4)), only numeric owner and group values may be used." .sp -A sample \fIudev.permissions\fP might look like this: +.RI "A sample " udev.permissions " might look like this:" .sp .nf #name:user:group:mode @@ -221,9 +252,7 @@ dsp1:::0666 .fi .P A number of different fields in the above configuration files support a simple -form of wildcard matching. This form is based on the fnmatch(3) style, and -supports the following fields: -.RS +form of shell style pattern matching. It supports the following pattern characters: .TP .B * Matches zero, one, or more characters. @@ -235,12 +264,10 @@ Matches any single character, but does not match zero characters. Matches any single character specified within the brackets. For example, the pattern string "tty[SR]" would match either "ttyS" or "ttyR". Ranges are also supported within this match with the '-' character. For example, to match on -the range of all digits, the pattern [0-9] would be used. -.RE +the range of all digits, the pattern [0-9] would be used. If the first character +following the '[' is a '!' then any character not enclosed is matched. .SH "FILES" .nf -.ft B -.ft /sbin/udev udev program /etc/udev/* udev config files /etc/hotplug.d/default/udev.hotplug hotplug symlink to udev program