Daniel Drake (dsd) 著 バージョン 0.6 この文書の最新バージョンは、常に以下のサイトにあります。 http://www.reactivated.net/udevrules.php(英語オリジナルサイト) https://www.gentoo.gr.jp/transdocs/udevrules/udevrules.html(日本語翻訳版) 日本語翻訳版は、著者に許可を得て、五十嵐 正尚([email protected])が翻訳し、GentooJPで公開しているものです。翻訳版に関することは訳者に連絡してください。 日本語翻訳版 最終更新日 2005-05-16 内容 この文書について 更新履歴 執筆時に使用したソフトウェアのバージョン 用語紹介: devfs、sysfs、ノードなど なぜルールを書く必要がありますか? (この文書の目的) ルールを書く上での基本事項 N
udev ルールの書き方 by Daniel Drake (dsd) version 0.5.5 訳: MUNEDA Takahiro<> 2006 12 12 訳者が追記した行をわかりやすくするために,行頭に縦棒を記してある. この文章の最新版はいつも以下の場所にある: http://www.reactivated.net/udevrules.php (英文オリジナル) http://mux03.panda64.net/docs/udevrules_ja.html (和訳版) 英文オリジナルは更新されてしまったため,古い版数はこちらを参照してください. http://kernel.org/git/?p=linux/hotplug/udev.git;a=blob_plain;h=9396184366fee2bc342346bcce292c02a70f308f;f=docs/writing_
sysfs/kobjectが提供する新しいドライバ・モデルにおいて、カーネル内のhotplugサポート機構に基づく動的なデバイス・ノードの管理をユーザモードで実現するudevは、カーネル2.4で導入されたdevfsを置き換え、付加機能を提供するものである。今回はこのudevを取り上げて従来のdevfsと比較しながら、新しいドライバ・モデルにおけるhotplugの取り扱いと、アーキテクチャの目指す方向を紹介する。 udevの導入 前回紹介したgreg KHのkobject / hotplugに関するカーネル・パッチは、次のバージョンである2.5.68で早速取り入れられた。そのため、udev機構を実現するアプリケーションは、2.5.68以降ではパッチ無しに動作する事ができる。新しいドライバ・モデルのhotplugサポートにおいて、udevを始めとする一連の作業が目指すゴールと対応状況は、以下の
kobjectインフラストラクチャは、sysfsファイルシステムとの密接な関係を維持していて、kobjectのコアで登録される各kobjectは、sysfsから該当する登録用ディレクトリを受ける。kobjectに関するアトリビュートは、エクスポートすることができる。sysfsに関する詳細はDocumentation/filesystems/sysfs.txtに記述されている。 kobjectインフラストラクチャが提供するプログラミングインタフェイスでは、後述するように、sysfsを意識せずにkobjectsとksetsを登録できる。 1. kobjects 1.1 説明 struct kobjectは、より複雑なオブジェクト型に提供するための単純で基本的なデータ型である。それは多くの複雑なデータ型が共有する一組の基本的なフィールドを提供する。kobjectsはより大きなデータ構造(stru
Linuxでは膨大な種類のデバイスをサポートするドライバが、カーネルにビルドインされていることがセールス・ポイントの一つである。カーネル2.6系ではsysfsによる新しいドライバ・アーキテクチャの導入により、従来ソースのデバイスドライバもサポートされているものの、sysfsに対応した構造への書き換えが推奨される事になっている。 Linux-2.6.0-test2のテストリリースが始まっているが、ビルドインされているデバイスドライバの書き換えはそれほど進んでいない。今回は前回に続いて、sysfsとkobjectを理解するのために必要な、kset, ktype, subsystemの解説を紹介する。 2. kset 2.1 説明 ksetは、同じ型の中に組み込まれる1組のkobjectのセットである。 struct kset { struct subsystem * subsys; struc
11月6日に、libsysfs-0.3.0がアナウンスされた。libsysfsはsysfsと密接に関わりながら、カーネル2.6での新しいhotplugやudevと密接に関わるライブラリである。libsysfsはまた、サンプル・ソースコードやコマンドとともにsysfsutilsパッケージを構成しているので、併せて解説する。 IBMでLinux開発に従事している Ananth N Mavinakayanahalliから、11月6日にLKMLで次のようなアナウンスがあった。 我々はsysfsutilsパッケージの一部としてlibsysfs v0.3.0をリリースした。パッケージはhttp://linux-diag.sourceforge.net/からダウンロードすることができる。変更は次のものを含んでいる。 「ブロック」サブシステムのサポート。”block”は今後、sysfsの”class”と見
sysfsは、この連載コラムで最初に取り上げた、カーネル2.6で採用されているカーネルとドライバやデバイスとの連係を取り扱う新しいファイルシステム型インタフェイスである。すでにカーネル2.6を使っている人はご存知の通り、必ずしも使い易く洗練された構造になっているとは言えず、見方によっては矛盾や一貫性の欠如といった不具合を抱えているとも言える。 最近では、このsysfsの実装方法自体や、sysfs内の特定のサブシステム構造に関する議論が、LKMLで増えて来ている。 Don’t use a klist for drivers’ set-of-devices 8月10日に、 以前からsysfsに関する意見をポストしていたAlan Sternが、[PATCH] Don’t use a klist for drivers’ set-of-devicesと題した次のメールとPatchをLKMLに投稿し
11月版 ドライバに変数を渡すのにうってつけの方法 上川純一 日本ヒューレット・パッカード株式会社 コンサルティング・インテグレーション統括本部 2005/11/29 デバイスドライバの変数の設定はどうしたらよいか 「ユーザー空間からデバイスドライバにパラメータを渡す方法は何がよいのか」という議論がありました。この話題はそれなりに人を引き付けるようで、10月には2つ独立したスレッドがありました。「ioctlを使うのがよいのか、sysfsを使うのがよいのか」という疑問から、「実はそれよりもたくさん選択肢がある」という話題に展開していきました。 Kyle Moffettたちによると、以下のような選択肢があるとのことです。 ioctl 古くから伝統的に使われている手法です。バイナリ構造体を直接書き込む方式のため、32/64bitが混在する場合は型変換が必要になってしまいます。例えば、x86_64
8月9日に、3回目のカーネル2.6テストバージョンである、カーネル2.6.0-test3がリリースされた。ChangeLogを見てもわかるように、今回のリリースでの修正点は多く、またsysfs関連についてもバグフィックスや、ドライバの対応が行われている。 カーネル2.6では、sysfsを使ったインタフェイスが推奨される一方で、従来のprocfsを使用したコードもサポートされるので、各デバイスごとのドライバのsysfsへの対応はあまり進んでいない。この事がかえって混乱を招いている例もある。sysfsへの対応には、どのくらいの作業が必要なのであろうか。今回は、sysfsの具体的なコード例を示しながら、対応方法について考えてみる。 カーネル2.6の問題点 Changelogに書かれているように、カーネル2.6.0-test3(以下test3)でいくつかの基本的なドライバがさらにsysfsに対応し
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く