1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
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.
|