[[diary/Kojima]]

・udev 関連のメモ

hotplug agent を外した状態でudev-122 のデフォルトのルールファイルを使うと,
/dev/hdc 用のドライバ(ide-cd と cdrom)とかもロードはされるものの,
/dev/hdc のパーミッションが 50-udev-default.rules で 666 にしても 640 になってしまうので少し調べてみた.

当初は 50-udev-default.rules の書き方がまずいのかなぁ,,とあれこれ試行錯誤してみたのだけど,
どうもこのファイルでは cdrom なドライバがロードされないようなので,結局ルールファイルを総当たり的に
動かしながら調べるハメに陥ってしまった...

あれこれいじっているうちに udev-122 のデフォルトのルールファイルでは 80-drivers.rules の

 DRIVER!="?*", ENV{MODALIAS}=="?*", RUN{ignore_error}+="/sbin/modprobe $env{MODALIAS}

の設定がないと cdrom のドライバがロードされないらしいことに気づく.

テスト中の Plamo-4.5 では hotplug agent の murasaki を外そうとしているのだけど,
どうやら murasaki を外してしまうと cold plug のデバイス用のモジュールのロードは
udev だけではうまく行かない模様.

あまり詳しくは調べてないのだけど,IDE な CD-ROM の場合,ide-cd をロードして,
cd-rom をロードして,iso9660-fs をロードして,,みたいな階層構造になっているので,
udev だけではうまくいかないのかなぁ,,という印象.

とりあえず,rc.S の中でインストーラと同等の cold plug な処理を追加したら
50-udev-default.rules の設定でパーミッションが与えられるようになった模様.
一応,これができれば,後はカーネル自体の modprobe 機能と udev で何とかなりそうだけど,
murasaki に依存している Planet 回りはかなりイジらないといけないだろうなぁ..

その意味では,deprecated といっても hotplug agent を残しておくという選択もありかも知れないなぁ.

#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS