mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-28 17:57:25 +03:00
I want to bring the CALLOUT field ordering in line with the other methods, cause the current parsing relies on the ordering it's good to have it like the others. The BUS= is now the first expected field. Also made the last two remaining field names to uppercase and the man page callout example is updated.
151 lines
4.0 KiB
Groff
151 lines
4.0 KiB
Groff
.TH UDEV 8 "October 2003" "" "Linux Administrator's Manual"
|
|
.SH NAME
|
|
udev \- Linux configurable dynamic device naming support
|
|
.SH SYNOPSIS
|
|
.BI udev " hotplug-subsystem"
|
|
.SH "DESCRIPTION"
|
|
.B udev
|
|
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
|
|
The name field supports simple printf-like string subtitution:
|
|
.RS
|
|
.TP
|
|
.B %n
|
|
the "kernel number" of the device
|
|
for example, 'sda3' has a "kernel number" of '3'
|
|
.TP
|
|
.B %M
|
|
the kernel major number for the device
|
|
.TP
|
|
.B %m
|
|
the kernel minor number for the device
|
|
.TP
|
|
.B %b
|
|
the bus id for the device
|
|
.RE
|
|
.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, BUS="scsi", PROGRAM="/sbin/scsi_id", ID="OEM 0815", NAME="disk1"
|
|
|
|
# USB webcams to be called webcam0, webcam1, ...
|
|
LABEL, BUS="usb", model="WebCam Version 3", NAME="webcam%n"
|
|
.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 numeric owner, group and permission
|
|
mode. All values are separated by colons. The name field may end with a
|
|
wildcard to apply the values to a whole class of devices.
|
|
.sp
|
|
A sample \fIudev.permissions\fP might look like this:
|
|
.sp
|
|
.nf
|
|
#name:user:group:mode
|
|
ttyUSB1:0:8:0660
|
|
video*:500:500:0660
|
|
dsp1:::0666
|
|
.fi
|
|
|
|
.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"
|
|
.BR hotplug (8)
|
|
.PP
|
|
The
|
|
.I http://linux-hotplug.sourceforge.net/
|
|
web site.
|
|
.SH AUTHORS
|
|
.B udev
|
|
was developed by Greg Kroah-Hartman <greg@kroah.com> with much help from
|
|
Dan Stekloff <dsteklof@us.ibm.com> and many others.
|