・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 を残しておくという選択もありかも知れないなぁ.