mirror of
https://github.com/systemd/systemd.git
synced 2025-01-26 14:04:03 +03:00
[PATCH] added RFC-dev.d document detailing how /etc/dev.d/ works.
This commit is contained in:
parent
b658bc09a1
commit
3e33961b45
49
docs/RFC-dev.d
Normal file
49
docs/RFC-dev.d
Normal file
@ -0,0 +1,49 @@
|
||||
/etc/dev.d/ How it works, and what it is for
|
||||
|
||||
by Greg Kroah-Hartman <greg@kroah.com> March 2004
|
||||
|
||||
The /etc/dev.d directory works much like the /etc/hotplug.d/ directory
|
||||
in that it is a place to put symlinks or programs that get called when
|
||||
an event happens in the system. Programs will get called whenever the
|
||||
device naming program in the system has either named a new device and
|
||||
created a /dev node for it, or when a /dev node has been removed from
|
||||
the system due to a device being removed.
|
||||
|
||||
The directory tree under /etc/dev.d/ dictate which program is run first,
|
||||
and when some programs will be run or not. The device naming program
|
||||
calls the programs in the following order:
|
||||
/etc/dev.d/DEVNODE/*.dev
|
||||
/etc/dev.d/SUBSYSTEM/*.dev
|
||||
/etc/dev.d/default/*.dev
|
||||
|
||||
The .dev extension is needed to allow automatic package managers to
|
||||
deposit backup files in these directories safely.
|
||||
|
||||
The DEVNODE name is the name of the /dev file that has been created.
|
||||
This value, including the /dev path, will also be exported to userspace
|
||||
in the DEVNODE environment variable.
|
||||
|
||||
The SUBSYSTEM name is the name of the sysfs subsystem that originally
|
||||
generated the hotplug event that caused the device naming program to
|
||||
create or remove the /dev node originally. This value is passed to
|
||||
userspace as the first argument to the program.
|
||||
|
||||
The default directory will always be run, to enable programs to catch
|
||||
every device add and remove in a single place.
|
||||
|
||||
All environment variables that were originally passed by the hotplug
|
||||
call that caused this device action will also be passed to the program
|
||||
called in the /etc/dev.d/ directories. Examples of these variables are
|
||||
ACTION, DEVPATH, and others. See the hotplug documentation for full
|
||||
description of this
|
||||
|
||||
An equivalent shell script that would do this same kind of action would
|
||||
be:
|
||||
DIR="/etc/dev.d"
|
||||
export DEVNODE="whatever_dev_name_udev_just_gave"
|
||||
for I in "${DIR}/$DEVNODE/"*.dev "${DIR}/$1/"*.dev "${DIR}/default/"*.dev ; do
|
||||
if [ -f $I ]; then $I $1 ; fi
|
||||
done
|
||||
exit 1;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user