最近のudev事情
udevに関して再度取り上げなくてはと思っているうちに、005、 006、 007とリリースが出てしまった。GregKHは、2003年4月にアイデアを示したに過ぎないとも言えるバージョン0.1を公開したが、現在ではLinux-hotplugメーリングリストを中心に協力者を得て、彼の多くの時間をudevに費やしているようだ。
オタワLinux シンポジウム2003
2003年7月にオタワで開催されたLinux シンポジウム2003ではGregKHが、「udev – A Userspace Implementation of devfs」というタイトルでudevについての講演を行った。実はこのときの講演が、udev開発の実質的なキックオフであった。udevのコンセプトに関して解説されているこの講演の資料は、以下から入手できるので、興味がある方は参照されたい。
Linux シンポジウムで彼が発表を行うまで、udevはまだ最初のコンセプトモデルであるudev-0.1のままであった。このシンポジウムでGregKHはudev-0.2を発表して以来、その後開発メンバやパッチが増えるとともに、コード量も増えてきた。udevはわずかここ3ヶ月足らずの間で本格的な実装が行なわれ、使えるようになって来た事になる。
udev(再び)
udevに関しては以前にも取り上げているが、簡単に解説すると次のようになる。
udevは従来の仮想デバイスノード・ファイル・システムであるDevFSの機能をユーザ空間で実現する。sysfs、Hotplugが提供する機能とともにカーネル2.6でのデバイスの動的な割り当てをサポートする。さらには、/dev(デバイスノード)ファイルに自由で正しい名前付けを可能とさせるものである。DevFSは今後メンテナンスされないため、カーネル2.6では、DevFSの変わりにudevの利用が推奨されている。
udevはデバイスがプラグインされたときに、各デバイスドライバがsysfsツリーにリストするメジャー/マイナ番号から動的にデバイス・ノードをmknodによって作成する単純な仕組みである。udevでもメジャー/マイナ番号には、従来と同じLANALA(The Linux Assigned Names And Numbers Authority)の予約番号や取りうる値の制約がある。カーネル2.6ではメジャー番号は12ビット、マイナ番号は20ビットに拡張されたが、制限があることには変わらない。DevFSとは異なり、仮想ファイルシステムではないので、ディスク・スペースを使いたくない場合には、ramfs等を使用するといった手段を取る必要がある。/devファイル(デバイス・ノード・ファイル)とそこに隠されたメジャー/マイナ番号は非常に古典的なしくみであるが、今後もアプリケーションとデバイス、デバイスドライバとの接続点である事は変わらない。
Hotplugメーリングリスト
2003年11月23日、HotplugメーリングリストにGregKHからudev-007のアナウンス・メールが流れた。udev-005まではLKML(Linux Kernel Mailing List)でもアナウンスされていたが、udevに関する議論やリリースは現在、Hotplugメーリングリストで行われている。udevの各バージョンとFAQは、kernel.orgで管理されている。
udev-007は、udevのコンフィグレーション・ファイル/etc/udev/udev.configのフォーマットに記述する CALLOITルール・パラメータのフォーマットが変更になったのと、それに伴う修正が主要な変更点である。udevの短い歴史を振り返ると、次のようになる。
バージョン | 日付 | 主な変更点 |
udev0.1 | 4/11/2003 |
|
udev0.2 | 7/25/2003 |
|
udev-003 | 10/16/2003 |
|
udev-004 | 10/21/2003 |
|
udev-005 | 10/22/2003 |
|
udev-006 | 11/19/2003 |
|
udev-007 | 11/24/2003 |
|
uDSE
udevに関連した最近の話題としてuSDEについて少し触れる。2003年10月27日にLKMLで、Mark BellonによってuSDEがアナウンスされたため、議論を呼び起こした。KernelTrafficでのサマリ・タイトルが「New DevFS Replacement uSDE, Similar To udev」とあることからもわかるように、これはudevと同様、Hotplugと連携しながら従来までのDevFSを置き換えるもので、Mark Bellonらのグループが開発中のプロジェクトである。
突然とも言えるuSDEの出現とアナウンスにより、Patrick MochelやGregKHを初めとする人々から、「なぜ開発しているのか」に関する質問が寄せられた。特に4月のGregKHのudevのアナウンスを知って、GregKHと直接メールを交換したのにもかかわらず、udevの開発には加わらず、別のアプローチを取ったことがわかり、非難を浴びた。Mark Bellonは、udevを補完する別のアプローチとしてuSDEの必要性を説いたが、結局MochelやGregKHが、uSDEに対して多くのアドバイスをしたまま議論は立ち消えた。uSDEはその後も更新されている。