chiark / gitweb /
[PATCH] implement printf-like placeholder support for NAME
[elogind.git] / udev.8
diff --git a/udev.8 b/udev.8
index e44855b..79b74bf 100644 (file)
--- a/udev.8
+++ b/udev.8
-.TH UDEV 8 "October 2003" "" "Linux Programmer's Manual"
+.TH UDEV 8 "October 2003" "" "Linux Administrator's Manual"
 .SH NAME
-udev \- Linux dynamic device naming support
+udev \- Linux configurable dynamic device naming support
 .SH SYNOPSIS
-.B udev
+.BI udev " hotplug-subsystem"
 .SH "DESCRIPTION"
 .B udev
-is a wonderful program whose man page has not been written yet.
+creates or removes device node files usually located in the /dev directory.
+Its goal is to provide a dynamic device directory that contains only the files
+for devices that are actually present.
+.P
+As part of the
+.B hotplug
+subsystem,
+.B udev
+is executed if a kernel device is added or removed from the system.
+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.
+.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.
+.SH "CONFIGURATION"
+.B udev
+expects its configuration at
+.I /etc/udev/udev.config.
+The file consists of a set of lines. All empty lines and
+lines beginning with a '#' will be ignored.
+.br
+Every line defines 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 is used.
+.P
+The line format is:
+.RS
+.sp
+.I method, key,[key,...] name
+.sp
+.RE
+where valid methods with corresponding keys are:
+.TP
+.B LABEL
+device label or serial number, like USB serial number, SCSI UUID or
+file system label
+.br
+keys: \fBBUS\fP, \fIsysfs_attribute\fP
+.TP
+.B NUMBER
+device number on the bus, like PCI bus id
+.br
+keys: \fBBUS\fP, \fBID\fP
+.TP
+.B TOPOLOGY
+device position on bus, like physical port of USB device
+.br
+keys: \fBBUS\fP, \fBPLACE\fP
+.TP
+.B REPLACE
+string replacement of the kernel device name
+.br
+key: \fBKERNEL_NAME\fP
+.TP
+.B CALLOUT
+calling external program, that returns a string to match
+.br
+keys: \fBBUS\fP, \fBPROGRAM\fP, \fBID\fP
+.P
+A sample \fIudev.conf\fP might look like this:
+.sp
+.nf
+# USB printer to be called lp_color
+LABEL, BUS="usb", serial="W09090207101241330", NAME="lp_color"
+
+# 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"
+
+# if /sbin/scsi_id returns "OEM 0815" device will be called disk1
+CALLOUT, PROGRAM="/sbin/scsi_id" BUS="scsi", ID="OEM 0815" NAME="disk1"
+.fi
+.P
+Permissions and ownership for the created device files may specified at
+.I /etc/udev/udev.permissions.
+The file consists of a set of lines. All empty lines and
+lines beginning with a '#' will be ignored.
+.br
+Every line lists a device name followed by owner, group and permission mode. All values are separated by colons.
+.sp
+A sample \fIudev.permissions\fP might look like this:
+.sp
+.nf
+#name:user:group:mode
+ttyUSB1:root:uucp:0666
+dsp1:::0666
+.fi
+
 .SH "FILES"
 .nf
 .ft B
@@ -16,11 +116,12 @@ is a wonderful program whose man page has not been written yet.
 .fi
 .LP
 .SH "SEE ALSO"
-.BR hotplug "(8)"
+.BR hotplug (8)
 .PP
 The
 .I http://linux-hotplug.sourceforge.net/
 web site.
 .SH AUTHORS
-udev was developed by Greg Kroah-Hartman <greg@kroah.com> with much help from
+.B udev
+was developed by Greg Kroah-Hartman <greg@kroah.com> with much help from
 Dan Stekloff <dsteklof@us.ibm.com> and many others.