	Murasaki 0.5.4	(another HotPlug)

			Shuu Yamaguchi <shuu@dotaster.com>

Murasaki automatically loads and unloads modules for USB,Cardbus,network,etc
 using new feature "Hotplug" in Linux 2.4.
Now kernel supports USB,Cardbus,network and IEEE1394.

[Requires]
	* Kernel 2.4.0 or later
		If you use kernel 2.4.0, you need to get the patch
		against 2.4.0 and rebuild your kernel.
		The patch "patch-2.4.0-hotplug.bz2" is on the URL where
		modutils is.
	* modutils 2.4.1 or later
	* Support for hot-pluggable devices on General setup Menu 
		in kernel configuration

[Files]
	* hotplug.murasaki --- Hotplug program
		Linux kernel calls this when a hot-pluggable device 
		is connected(registerd) or disconnected(unregisterd).
		Now, there are USB, PCI ,network device and IEEE1394.

	* murasaki.usb ------- USB Agent program
		"hotplug.murasaki" calls this when a USB device is connected
		into or disconnected from a USB hub.

	* murasaki.pci ------- PCI(Cardbus) Agent program
		"hotplug.murasaki" calls this when a Cardbus device is
		connected into or disconnected from a card slot.

	* murasaki.net ------- network Agent program
		"hotplug.murasaki" calls this when a network device is
		registerd or unregisterd.

	* murasaki.ieee1394 -- IEEE1394 Agent Program
		"hotplug.murasaki" calls this when a IEEE1394 device is
		registerd or unregisterd.

	* murasaki.usbmap ---- USB MAP configuration file
		"murasaki.usb" looks at this to search a appropriate USB
		module name.

	* murasaki.pcimap ---- PCI MAP configuration file
		"murasaki.pci" looks at this to search a appropriate PCI
		 module name.

	* murasaki.ieee1394map IEEE1394 MAP configuration file
		"murasaki.ieee1394" looks at this to search a appropriate IEEE1394
		module name.

	* murasaki.depend ---- depending modules file
		USB and PCI Agent program use this to search depended modules on a
		loaded or unloaded module and to expand alias module name.
		An alias module name begins with "alias-" and it isn't loaded
		and unloaded by an agent program.
		[See How to write murasaki.depend]

	* murasaki.call ------ setup script file
		An Agent program uses this to setup modules.
		[See How to write murasaki.call]

	* murasaki.preload --- preloaded modules file
		RC script loads modules in this on booting.
		[See How to write murasaki.preload]

	* auto_setup --------- preload file setup sh-script.
		This is called by RC script and write appropriate modules
		on preload file.

[How to make]
	build the Agent and HotPlug from sources.
		$ make

[How to install]
	1) Become root user
		$ su
	2) Install files
		# make install

	(Note)
	'make install' will install each file for RedHat(or compatible)
	system. If you use another system, you need add the following line
	at appropriate place in RC script.
		- On starting
			rc.murasaki start
		- On shutdowning
			rc.murasaki stop

[How to write murasaki.preload]
	This file is called by RC script(rc.murasaki).
	It forms each module per line.

	<Format>
	----------------------
	module1
	module2
	module3
	----------------------

[How to write murasaki.depend]
	The 1st token is module's name with ':'.
	The 2nd token is depended module filename. You are able to 
	write multiple files using <space> characters before the next.

	<Format>
    ------------------------------------------------------------
	module_name: depended-filename [depended-filename2 ...]
    ------------------------------------------------------------
	module_name
		module name
	depended-filename
		depended module name

	If module name begins with 'alias-', Murasaki identify it as
	alias module and load/unload depended modules except it.

[How to write murasaki.call]
	The format of this file is same as murasaki.depend.
	When you added a hotplug device, the script with 'start' as
	the 1st argument is called . On the other hand when you removed it, 
	the script with 'stop' as the 1st argument is called.

	<Format>
    ------------------------------------------------------------
	module_name: executable-filename [executable-filename2 ...]
    ------------------------------------------------------------
	module_name
		module name
	executable-filename
		executable command name
		
	The Agent looks at /etc/murasaki first of all when it searches
	depended modules. 
	You should put executable command on /etc/murasaki to identify
	it as what only Murasaki calls.

