murasaki.usb
Last modified: Sat Apr 10 23:37:41 JST 2004

murasaki.usbはUSBイベント発生時に hotplug.murasakiが呼び出す Agentプログラムです。

[実行までの流れ]

カーネル(USBイベント発生)
|
|
hotplug.murasaki
|
|
murasaki.usb

[実行内容]

usbmapから対応するモジュールを探す(1,2)
|
|
murasaki.dependを元に依存モジュール/エイリアスを展開する(3,4)
|
|
murasaki.precallを元にモジュール/デバイスに 対応するスクリプトを実行する(5,6)
|
|
モジュールをロード/アンロードする(7)
|
|
murasaki.callを元にモジュール/デバイスに 対応するスクリプトを実行する(8,9)

  1. hotplug.murasakiを通じてカーネルから渡された情報を元に murasaki.usbmapから一致するモジュールを探す。
    addの場合
    murasaki.blacklistに登録されているモジュールは無視される。
    removeの場合
    murasaki.stickylistに登録されているモジュールは無視される。
  2. 同様に modules.usbmapから一致するモジュールを探す。
    addの場合
    murasaki.blacklistに登録されているモジュールは無視される。
    removeの場合
    murasaki.stickylistに登録されているモジュールは無視される。
  3. 得られたモジュールに依存するモジュールを、murasaki.dependから探す。
  4. 上記で得られたモジュールにエイリアスがあれば、展開する。
    addの場合
    展開されたモジュールがmurasaki.blacklistに登録されていれば無視される。
    removeの場合
    展開されたモジュールがmurasaki.stickylistに登録されていれば無視される。
    (全モジュールのリストが完成)
  5. murasaki.precallから各モジュールに対応したスクリプトを探し、 実行する。
  6. murasaki.precallに[usb]で指定されている、スクリプトを実行する。
  7. モジュールをロード/アンロードする。
    # アンロード時、他で使用しててbusyのモジュールはアンロードされない。
  8. murasaki.callから各モジュールに対応したスクリプトを探し、 実行する。
  9. murasaki.callに[usb]で指定されている、スクリプトを実行する。
    (今は指定なし)

[関連]


Back Shuu Go DotAster
Shuu Yamaguchi : shuu@dotAster.com