hotplug for DEBIAN
----------------------

Hotplugging is a  feature of Linux kernel whose goal is to let
you plug in new devices and use them immediately.  That means that
you won't need to learn so much system administration; systems
will (hopefully, for the most part) be able to configure
themselves. 

For more information about Linux hotplug, visit
 http://linux-hotplug.sourceforge.net/

You can check hotplug status by
 # /etc/init.d/hotplug status

Notes:
 * USB keybord configuration
   If you're booting with a USB keyboard and/or mouse, and want to defend
   against boot failures like missing modules, you should probably use static
   linking for the "hid", "keybdev" (and/or "mousedev"), "input", "usbcore",
   and USB Host Controller modules.

 * Upstream's /etc/sysconfig/usb is moved to /etc/default/hotplug
   which is automatically generated by hotplug on installation.

   configuration variables
    STATIC_MODULE_LIST
	(deprecated) modules that should be loaded at boot time.
	use /etc/modules instead
    X11_USBMICE_HACK
	(deprecated) use USB mouse with X11?
	use /etc/modules instead
    NET_AGENT_POLICY
	which network interfaces should be managed by hotplug?
	all - all network interfaces in /etc/network/interfaces will be managed
		by hotplug.
	auto - network interfaces marked as "auto" in /etc/network/interfaces
		will be managed by hotplug.
		Thus, no-'auto' network interfaces will be ignored by hotplug.
        hotplug - selected network interfaces by "mapping hotplug" stanzas in
		/etc/network/interfaces will be managed by hotplug.
		hotplug will try to bring up the interfaces with =hotplug,
		e.g. ifup eth0=hotplug.
		See below how to configure with this case.
    IGNORE_PCI_CLASS_DISPLAY
	ignore PCI_CLASS_DISPLAY_* devices?
    HOTPLUG_RC_$SUBSYSTEM
	If set to "no", disables coldplugging for the $SUBSYSTEM.
    QUIET
	If set, makes the init script much less verbose.

 * The message "usb** can't synthesize root hub events" means 
   either
    - you don't have usbmodules, which is in usbutils package
      (a package Recommended by hotplug)
   or
    - you don't have /proc/bus/usb/devices (CONFIG_USB_DEVICEFS)

 * Note that, in this case, user defined scripts for modules as
  /etc/hotplug/usb/MODULENAME doesn't work.  You must install
  the usbutils package or use kernel with CONFIG_USB_DEVICEFS.

 * To recognize ieee1394, see http://www.linux1394.org/faq.php#hotplug
   You'll need to put some script in /etc/hotplug.d/ieee1394/

 * if you set NET_AGENT_POLICY=hotplug in /etc/default/hotplug, 
   /etc/hotplug/net.agent ifup's the hotplugged interface with
   the logical interface name "hotplug".  E.g.,
     ifup eth0=hotplug
   Thus, if you use this option, hotplug does NOT ifup any network 
   interfaces unless the ifupdown package is configured appropriately.  

   To ifup a network interface on hot plug, you must add the following 
   stanza to the /etc/network/interfaces file:
      mapping hotplug
          script echo
   This stanza will cause all hot-plugged interfaces to be
   ifupped. Note that you'll get the same results with 'all' option for
   NET_AGENT_POLICY.

   If you want only SOME interfaces to be ifupped, you can use a stanza like 
   the following, with each iface you do want ifupped listed on a separate 
   "map" line.
      mapping hotplug
          script grep
          map eth0
          map eth2
   Thus, hotplug will bring up only eth0 and eth2 with this example.
   You can configure them independent of 'auto' network interfaces in
   /etc/network/interfaces.

   These ideas came out of a discussion on the debian-devel mailing list.
   http://lists.debian.org/debian-devel/2003/debian-devel-200303/msg00066.html

 -- Fumitoshi UKAI <ukai@debian.or.jp>, Wed Oct 27 01:54:47 2004

