hotplug (8)





NAME

       hotplug - Linux hotplugging support scripts


SYNOPSIS

       hotplug [ help | --help | NAME ]

       /etc/init.d/hotplug [start|stop|status|restart] (not used in RedHat)


DESCRIPTION

       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"
       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 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
       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.

       /etc/init.d/hotplug              hotplug system service script (not used in RedHat)


SEE ALSO

       initrd(4)

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


AUTHORS

       hotplug  is  developed  by  Linux Hotplugging Project http://linux-hot-
       plug.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.

                                  August 2002                       hotplug(8)