hotplug

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
HOTPLUG(8)		  Linux Programmer’s Manual		   HOTPLUG(8)



NAME
       hotplug - Linux hotplugging support scripts

SYNOPSIS
       hotplug [ help | --help | NAME ]

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 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 configu-
       ration changes.	It helps to think of them as just  delivering  events
       from  different layers of the Linux software.  So low level bus frame-
       work 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 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 network 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.

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


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)