すでに基本的な内容はよく理解していますがsysfs
、まだ一人では理解できない部分があります。
まず、私は調べたいです。渡すsysfs
(もちろん、後でスクリプトを介して)ブロックデバイス(HDD、DVD...)がどのチャンネルに接続されているか。
興味深いのは、私が方法を理解できることです。所有者か奴隷か!sysfs
これを提供するツリーに根ざした内部IDがあります。つまり9:0:1
、デバイスが(プライマリまたはセカンダリ)に接続されていることを意味します。奴隷チャンネル。 (最後の数字が0の場合はマスターチャンネル、最後の数字が1の場合はスレーブチャンネルです)。しかし、それでもマスターチャンネルかセカンダリチャンネルなのかわかりません。
これについて調査をしていたことの一つの事実を発見しました。Linux 2.6LKMLに関する投稿:https://lkml.org/lkml/2006/3/25/20パス例を表示します../../../devices/pci0000:00/0000:00:04.0/ide0/0.0/
。
まあ、それはまさに私が必要だったのです!
しかし残念ながら、Linux 3.xからはideX
見つかりません。sysfs
カーネルバージョン3では永久に削除された可能性がありますか?
答え1
状況が並べ替えられました。
ATAデバイス(以前のIDE PATA - パラレルと最新のSATA - シリアル)は、最初のコントローラの最初のデバイスと同じパス/sys/devices/pcixxxx:xx/xxxx:xx:xx.x/atax
(x
番号を表す)の下にあります。/sys/devices/pci0000:00/0000:00:11.0/ata1/link1