hotplug - Linux hotplugging support scripts
hotplug [ help | --help | NAME ]
/etc/init.d/hotplug [start|stop|status|restart] (not used in RedHat)
hotplug is a program which is used by the kernel to notify user mode
software when some significant (usually hardware-related) events take
place. An example is when a USB or Cardbus device has just been
plugged in. This is useful for automatically loading and setting up
drivers, packaged either as kernel modules or as user mode programs.
The hotplug program path name is registered in /proc/sys/kernel/hot-
plug, and normally holds the value /sbin/hotplug. Except for special-
ized configurations such as initrd(4) configurations, that identifies a
shell script which delegates to specific "policy agents", /etc/hot-
plug/NAME.agent. The name of the agent is given by the kernel as the
first command-line parameter. The name corresponds to a specific ker-
nel subsystem whose events it processes (e.g. "usb", "pci", "net"
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 dis-
connected 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 kernel though.
While the OS is initializing, the "cold-plugging" case, the hotplug
script in /etc/init.d/hotplug (not used in RedHat) is invoked to make
sure that all device connected at boot are properly configured, apply-
ing the same rules as if they were connected later.
Hotplug agents should be used to dynamically adapt to system configura-
tion 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, configured, and
activated. (They use depmod(8) style device descriptions, used among
other things to publish MODULE_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 net-
work interface". Agents at those levels tend to have more complex
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.
/etc/init.d/hotplug hotplug system service script (not used in RedHat)
The http://linux-hotplug.sourceforge.net/ web site.
hotplug is developed by Linux Hotplugging Project http://linux-hot-
This manual page was originally written by Fumitoshi UKAI
<firstname.lastname@example.org>, for the Debian GNU/Linux system (but may be used
by others), based on original Japanese version of manpage.
August 2002 hotplug(8)