最終更新:2015-10-22 (木) 06:03:28 (1860d)  

sysfs
Top / sysfs

Linux 2.6 によって提供される仮想ファイルシステム

sysfsは/sysにマウントされた仮想的なファイルシステムで,動作中のカーネルの内部構造がファイルシステムの構造に投影されて表示され,ユーザ領域のアプリケーションから参照したり変更したりできる

ドキュメント

LFS

マウント

初期化

メモ

  • 内部的にはdevtmpfs
  • sysfs ファイルシステムが (/sys に) マウントされると、ドライバーによって sysfs に登録されたデータは、ユーザー空間のプロセスと (デバイスノードの修正を含む) さまざまな処理を行うudevdにて利用可能となります。
  • http://lfsbookja.sourceforge.jp/7.6.ja/chapter07/udev.html

Linux/sys

  • バス名/devices - そのバスのデバイスのLinux/sys/devicesへのシンボリックリンク
  • バス名/drivers - そのバスタイプに登録されたドライバ(Linux/sys/module)へのシンボリックリンク

ディレクトリ構造

ディレクトリの追加

ファイルの追加

  • struct kobj_attribute?
  • kobj_attribute構造体をまとめたattr_group?構造体を引数として、sysfs_create_group関数をコール
  • attr_group?構造体にnameを設定すると、そのディレクトリが作成されその配下に属性ファイルが作られる

USB

  • Linux/sys/bus/usb/devices -> Linux/sys/devices/pcixxxxx?にマッピング
  • usb2/2-1/2-1:1.0
  • ルートハブ2/ルートのハブ番号-ポート番号/root_hub-hub_port-hub_port:config.interface

.config

ソースコード

  • fs/sysfs?

関数

USBのドライバ

mount

  • mount -t sysfs sysfs /sys

関連

参考