2003-10-20 08:59:45 +04:00
.TH UDEV 8 "October 2003" "" "Linux Administrator's Manual"
2003-10-17 11:29:17 +04:00
.SH NAME
2003-10-20 08:59:45 +04:00
udev \- Linux configurable dynamic device naming support
2003-10-17 11:29:17 +04:00
.SH SYNOPSIS
2003-10-22 08:46:00 +04:00
.BI udev " hotplug-subsystem"
2003-10-17 11:29:17 +04:00
.SH "DESCRIPTION"
.B udev
2003-10-20 08:59:45 +04:00
creates or removes device node files usually located in the /dev directory.
2003-10-22 08:46:00 +04:00
Its goal is to provide a dynamic device directory that contains only the files
for devices that are actually present.
.P
2003-10-20 08:59:45 +04:00
As part of the
.B hotplug
subsystem,
.B udev
2003-10-22 08:46:00 +04:00
is executed if a kernel device is added or removed from the system.
2003-10-20 08:59:45 +04:00
On device creation,
.B udev
2003-10-22 08:46:00 +04:00
reads the sysfs directory of the given device to collect device attributes
2003-10-20 08:59:45 +04:00
like label, serial number or bus device number.
2003-10-22 09:08:03 +04:00
These attributes are treated as a key
to determine a unique name for device file creation.
2003-11-12 14:48:04 +03:00
.B udev
maintains a database for devices present on the system.
2003-10-22 08:46:00 +04:00
.br
2003-10-20 08:59:45 +04:00
On device removal,
.B udev
2003-10-22 09:08:03 +04:00
queries the internal database for the name of the device file to be deleted.
2003-10-22 08:46:00 +04:00
.SH "CONFIGURATION"
2003-11-12 14:48:04 +03:00
.B udev
expects its configuration at
2003-10-22 09:08:03 +04:00
.I /etc/udev/udev.config.
2003-10-20 08:59:45 +04:00
The file consists of a set of lines. All empty lines and
lines beginning with a '#' will be ignored.
.br
2003-10-21 10:33:54 +04:00
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
2003-10-22 08:46:00 +04:00
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.
2003-10-21 10:33:54 +04:00
.P
2003-10-22 08:46:00 +04:00
The line format is:
.RS
.sp
.I method, key,[key,...] name
.sp
.RE
where valid methods with corresponding keys are:
2003-10-20 08:59:45 +04:00
.TP
.B LABEL
device label or serial number, like USB serial number, SCSI UUID or
file system label
2003-10-21 10:33:54 +04:00
.br
keys: \fB BUS\fP , \fI sysfs_attribute\fP
2003-10-20 08:59:45 +04:00
.TP
.B NUMBER
device number on the bus, like PCI bus id
2003-10-21 10:33:54 +04:00
.br
keys: \fB BUS\fP , \fB ID\fP
2003-10-20 08:59:45 +04:00
.TP
.B TOPOLOGY
device position on bus, like physical port of USB device
2003-10-21 10:33:54 +04:00
.br
keys: \fB BUS\fP , \fB PLACE\fP
2003-10-20 08:59:45 +04:00
.TP
.B REPLACE
string replacement of the kernel device name
2003-10-21 10:33:54 +04:00
.br
key: \fB KERNEL_NAME\fP
.TP
.B CALLOUT
calling external program, that returns a string to match
.br
keys: \fB BUS\fP , \fB PROGRAM\fP , \fB ID\fP
2003-10-22 08:46:00 +04:00
.P
2003-10-22 09:08:03 +04:00
A sample \fI udev.conf\fP might look like this:
2003-10-22 08:46:00 +04:00
.sp
2003-10-20 08:59:45 +04:00
.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
2003-10-21 10:33:54 +04:00
NUMBER, BUS="pci", ID="00:0b.0", NAME="dsp"
2003-10-20 08:59:45 +04:00
# USB mouse at third port of the second hub to be called mouse1
2003-10-21 10:33:54 +04:00
TOPOLOGY, BUS="usb", PLACE="2.3", NAME="mouse1"
2003-10-20 08:59:45 +04:00
# ttyUSB1 should always be called pda
REPLACE, KERNEL="ttyUSB1", NAME="pda"
2003-10-21 10:33:54 +04:00
2003-11-12 14:48:04 +03:00
# if /sbin/scsi_id returns "OEM 0815" device will be called disk1
CALLOUT, PROGRAM="/sbin/scsi_id" BUS="scsi", ID="OEM 0815" NAME="disk1"
2003-10-20 08:59:45 +04:00
.fi
2003-10-22 08:46:00 +04:00
.P
Permissions and ownership for the created device files may specified at
2003-10-22 09:08:03 +04:00
.I /etc/udev/udev.permissions.
2003-10-22 08:46:00 +04:00
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
2003-10-22 09:08:03 +04:00
A sample \fI udev.permissions\fP might look like this:
2003-10-22 08:46:00 +04:00
.sp
.nf
#name:user:group:mode
ttyUSB1:root:uucp:0666
dsp1:::0666
.fi
2003-10-17 11:29:17 +04:00
.SH "FILES"
.nf
.ft B
.ft
/sbin/udev udev program
/etc/udev/* udev config and database files
/etc/hotplug.d/default/udev.hotplug hotplug symlink to udev program
.fi
.LP
.SH "SEE ALSO"
2003-10-22 08:46:00 +04:00
.BR hotplug (8)
2003-10-17 11:29:17 +04:00
.PP
The
.I http://linux-hotplug.sourceforge.net/
web site.
.SH AUTHORS
2003-11-12 14:48:04 +03:00
.B udev
was developed by Greg Kroah-Hartman <greg@kroah.com> with much help from
2003-10-17 11:29:17 +04:00
Dan Stekloff <dsteklof@us.ibm.com> and many others.