
  2.6 Kernels

The following examples demonstrate usage for one-time hardware detection.

Recommended usage for InitRD, if you do not have any modules you want to
load manually:
---
hotplug2 --no-persistent --coldplug
------

Recommended usage for InitRD, if you have modules you want to load manually:
---
#!/bin/sh

echo "Starting detection"

hotplug2 --persistent --coldplug &
modprobe module1
modprobe module2
modprobe module3
killall -USR1 hotplug2
wait

echo "Detection over"
------

Please note that if you run hotplug2 and udevd simultaneously, both will
suffer significant slowdown.

To have hotplug2 running permanently and perform coldplug, run:
hotplug2 --persistent --coldplug

(note that hotplug2 will not daemonize itself, you have to use an equivalent
to Debian's start-stop-daemon, or otherwise ensure it daemonizes)

The suggested base rules are in /examples.


  2.4 Kernels

Since 0.8, hotplug2 provides a trivial binary "hotplug2-dnode" that forwards 
events taken from  the obsolete /proc/sys/kernel/hotplug interface into netlink
formatted as uevents, so that hotplug2 (or possibly also udev) can read them
and work with them.

The hotplug2-dnode application also creates MODALIAS variable if missing and
if it can be created.

You enable the support by:
 echo /sbin/hotplug2-dnode > /proc/sys/kernel/hotplug

Please note that udevtrigger will not work for 2.4 kernels. For this reason,
"hotplug2-coldplug-2.4" application is provided; it handles coldplugging of
PCI and USB devices. It works on 2.6 kernels as well, but "udevtrigger" does
the job far better.

Therefore, run hotplug2 using this command:
 hotplug2 [your usual params] --set-coldplug-cmd /path/to/hotplug2-coldplug-2.4

To simplify loading of modules, using the MODALIAS variable, you have to
generate module aliases for your modules out of the busmaps. To do this, the
application "generate_alias" has been written.

Usage of generate_alias:
 generate_alias --prefix /lib/modules/`uname -r` \
	--output /lib/modules/`uname -r`/modules.alias

Now, you can use hotplug2 with MODALIAS like on 2.6. See the base rules in 
the /examples directory.


To revise the steps, shortly:

 * After a new installation of a 2.4 kernel, run generate_alias:
 generate_alias --prefix /lib/modules/`uname -r` \
	--output /lib/modules/`uname -r`/modules.alias
	
 * In your init script, run:
 echo /sbin/hotplug2-dnode > /proc/sys/kernel/hotplug
 hotplug2 --persistent --set-coldplug-cmd /sbin/hotplug2-coldplug-2.4
 
 (note that hotplug2 will not daemonize itself, you have to use an equivalent
 to Debian's start-stop-daemon, or otherwise ensure it daemonizes)
 
 * That's it, you're done!

Please note that 2.4 support has not been thoroughly tested. Report bugs,
send patches.
