
24.2 Kernel uevents and udev
The required device information is exported by the sysfs file system. For every device
the kernel has detected and initialized, a directory with the device name is created. It
contains attribute files with device-specific properties. Every time a device is added or
removed, the kernel sends a uevent to notify udev of the change.
The udev daemon reads and parses all provided rules from the
/etc/udev/rules
.d/*.rules
files once at start-up and keeps them in memory. If rules files are
changed, added, or removed, the daemon receives an event and updates the in-memory
representation of the rules.
Every received event is matched against the set of provides rules. The rules can add or
change event environment keys, request a specific name for the device node to create,
add symlinks pointing to the node, or add programs to run after the device node is cre-
ated. The driver core uevents are received from a kernel netlink socket.
24.3 Drivers, Kernel Modules, and
Devices
The kernel bus drivers probe for devices. For every detected device, the kernel creates
an internal device structure and the driver core sends a uevent to the udev daemon. Bus
devices identify themselves by a specially-formatted ID, which tells what kind of device
it is. Usually these IDs consist of vendor and product ID and other subsystem-specific
values. Every bus has its own scheme for these IDs, called
MODALIAS
. The kernel
takes the device information, composes a
MODALIAS
ID string from it, and sends that
string along with the event. For a USB mouse, it looks like this:
MODALIAS=usb:v046DpC03Ed2000dc00dsc00dp00ic03isc01ip02
Every device driver carries a list of known aliases for devices it can handle. The list is
contained in the kernel module file itself. The program depmod reads the ID lists and
creates the file
modules.alias
in the kernel's
/lib/modules
directory for all
currently available modules. With this infrastructure, module loading is as easy as
calling
modprobe
for every event that carries a
MODALIAS
key. If
modprobe
$MODALIAS
is called, it matches the device alias composed for the device with the
462
Installation and Administration
Содержание LINUX ENTERPRISE SERVER 10 - INSTALLATION AND ADMINISTRATION 11-05-2007
Страница 1: ...SUSE Linux Enterprise Server www novell com 10 May 11 2007 Installation and Administration...
Страница 14: ......
Страница 19: ...Part I Deployment...
Страница 20: ......
Страница 60: ......
Страница 128: ......
Страница 243: ...Part II Administration...
Страница 244: ......
Страница 274: ......
Страница 312: ......
Страница 348: ......
Страница 380: ......
Страница 381: ...Part III System...
Страница 382: ......
Страница 438: ......
Страница 452: ......
Страница 478: ......
Страница 486: ......
Страница 498: ......
Страница 512: ......
Страница 558: ......
Страница 559: ...Part IV Services...
Страница 560: ......
Страница 652: ......
Страница 670: ......
Страница 742: ......
Страница 754: ......
Страница 796: ......
Страница 817: ...Part V Security...
Страница 818: ......
Страница 858: ......
Страница 886: ......
Страница 910: ......
Страница 911: ...Part VI Troubleshooting...
Страница 912: ......
Страница 924: ......