Datasheet
“main” (Installation and Administration) — 2004/6/25 — 13:29 — page 319 — #345
i
i
i
i
i
i
i
i
14
The Hotplug System
either by the kernel when a link is established to a device or by coldplug,
which checks the main buses at regular intervals and creates an event for
all devices that have not been initialized. Further information on coldplug
is provided in Section 14.7 on page 321. The kernel also initiates a hotplug
event as soon as a driver registers an interface.
A hotplug event is a call to a hotplug user-mode tool, such as /sbin/
hotplug, which is specified in file /proc/sys/kernel/hotplug.
/sbin/hotplug searches for a hotplug agent that matches the type of
event. If there is no suitable agent but there is a dev file in the device path,
the agent generic_udev.agent is called.
Note
To ensure that events of a particular kind are ignored, edit
file /etc/sysconfig/hotplug and set the desired event to
HOTPLUG_SKIP_EVENTS.
Note
14.3 Hotplug Agents
A number of different hotplug events have been added to kernel 2.6. Every
new driver can introduce a new event. Only events already known have
agents assigned to them. These agents carry out the necessary actions.
The majority of device agents load kernel modules, but occasionally they
also call additional commands. For example, with some computer architec-
tures, such as IBM S390, a particular value must be entered for every device
in procfs or sysfs, for that device to be initialized. Under SUSE LINUX,
this is handled by /sbin/hwup or /sbin/hwdown. These programs
search for a configuration suitable for the device in /etc/sysconfig/
hardware. If /sbin/hwup does not find any configuration, modules are
automatically loaded. For further information about this point, see Sec-
tion 14.4 on the following page. Further information about /sbin/hwup
is contained in file /usr/share/doc/packages/sysconfig/README
and in man hwup.
Interface agents perform two main tasks. First, they initialize the inter-
face or call udev to create a device node. Second, network interfaces are
initialized with /sbin/ifup and deactivated with /sbin/ifdown. Fur-
ther details about this subject can be found in the file /usr/share/doc/
packages/sysconfig/README and with man ifup. There is also a man
319SUSE LINUX Enterprise Server










