hotplug(8)

NAME

hotplug - Linux hotplugging support scripts

SYNOPSIS

hotplug [ help | --help | NAME ]
/etc/init.d/hotplug [start|stop|status|restart]

DESCRIPTION

hotplug is a program which is used by the kernel to notify user mode software when some significant (usually hard
ware-related) events take place. An example is when a USB
or Cardbus device has just been plugged in. This is use
ful for automatically loading and setting up drivers,
packaged either as kernel modules or as user mode pro
grams.

The hotplug program path name is registered in
/proc/sys/kernel/hotplug, and normally holds the value /sbin/hotplug. Except for specialized configurations such as initrd(4) configurations, that identifies a shell script which delegates to specific "policy agents",
/etc/hotplug/NAME.agent. The name of the agent is given by the kernel as the first command-line parameter. The
name corresponds to a specific kernel subsystem whose
events it processes (e.g. "usb", "pci", "net" etc.).

Information about an event is usually passed to agents in
the form of environment variables. Most agents accept a
"ACTION" variable that describes the type of the event.
It can be, for example, "add" or "remove" to signify that
some device has just been connected to or disconnected
from the system respectively. In such requests, agents
are also given variables describing at the device (and its
location) so that they can choose the appropriate drivers
to set up.

hotplug agents aren't necessarily called only by the ker nel though. While the OS is initializing, the "cold-plug
ging" case, the hotplug script in /etc/init.d/hotplug is invoked to make sure that all device connected at boot are
properly configured, applying the same rules as if they
were connected later.

Hotplug agents should be used to dynamically adapt to sys
tem configuration changes. It helps to think of them as
just delivering events from different layers of the Linux
software. So low level bus framework code will deliver
events when new physical devices are plugged in, and bus
agents make sure the device's driver is loaded, config
ured, and activated. (They use depmod(8) style device descriptions, used among other things to publish MOD
ULE_DEVICE_TABLE entries found in the source to kernel
mode device drivers.) Then other layers in the Linux
stack will take over, reporting higher level events like
"there is a new network interface". Agents at those lev
els tend to have more complex tasks.

When used during system initialization, hotplugging may be
called "coldplugging" to highlight certain problems. For
example, program files and data needed to run hotplug
agents might be on filesystems that aren't yet available.

FILES

/lib/modules/*/modules.*map depmod output
/proc/sys/kernel/hotplug specifies hotplug program
path
/sbin/hotplug hotplug program (default
path name)
/etc/hotplug/* hotplug files
/etc/hotplug/NAME.agent hotplug subsystem-specif
ic agents
/etc/hotplug/NAME* subsystem-specific files,
for agents
/etc/hotplug/NAME/DRIVER driver setup scripts, in
voked by agents
/etc/hotplug/usb/DRIVER.usermap depmod data for user-mode
drivers
/etc/init.d/hotplug hotplug system service
script

SEE ALSO

initrd(4)

The http://linux-hotplug.sourceforge.net/ web site.

AUTHORS

hotplug is developed by Linux Hotplugging Project
http://linux-hotplug.sourceforge.net/

This manual page was originally written by Fumitoshi UKAI
<ukai@debian.or.jp>, for the Debian GNU/Linux system (but
may be used by others), based on original Japanese version
of manpage.
Copyright © 2010-2024 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout