HOTPLUG(8)                 Linux Programmer’s Manual                HOTPLUG(8)


       hotplug - Linux hotplugging support scripts


       hotplug [ help | --help | NAME ]


       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 passed in the form of  environment  vari-
       ables.   Most agents accept a "ACTION" variable that describes the type
       of the event.  It is set to "add" or  "remove"  to  signify  that  some
       device has just been connected to or disconnected from the system.
       The location of the device is provided in the variable "DEVPATH".  With
       kernel version 2.5 and later it  is  set  to  the  corresponding  sysfs
       device path without the mountpoint but a leading slash.

       hotplug agents aren’t necessarily called only by the kernel though.

       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.


       /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-specific agents
       /etc/hotplug/NAME*               subsystem-specific files, for agents
       /etc/hotplug/NAME/DRIVER         driver setup scripts, invoked by agents
       /etc/hotplug/usb/DRIVER.usermap  depmod data for user-mode drivers



       The web site.


       hotplug is developed by  Linux  Hotplugging  Project  http://linux-hot-

       This   manual   page   was   originally   written   by  Fumitoshi  UKAI
       <>, for the Debian GNU/Linux system (but may  be  used
       by others), based on original Japanese version of manpage.

                                  August 2002                       HOTPLUG(8)

Man(1) output converted with man2html