質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Q&A

解決済

1回答

6678閲覧

linux デバイスドライバを見つける

strike1217

総合スコア651

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

0グッド

2クリップ

投稿2017/04/28 10:42

write(1, "happ・・・", ・・・);

ファイルディスクリプタ1に対して、書き込みを行っています。
stdout_fileno でした。
デバイスファイルは、/dev/pts/1 でした。

file /dev/pts/1 ls -al /dev/pts/1 stat /dev/pts/1

全て確認済みです。
キャラクタスペシャルファイルとありました。

#このデバイスファイルに対応するデバイスドライバを発見したいのですが、どうすれば良いでしょうか?

stat /dev/pts/1 inode 4 Device 10h/16d Device Type : 88,1

この情報をもとに探してみましたが、見つかりません。

lsmod, modinfo などでデバイスドライバ一覧と情報が取れるんですが、
デバイスファイルとデバイスドライバの対応情報を得られません。

Linux mint Debian Edition 64bitです。
どなたか教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

こんにちは。

3.3.5. デバイスファイルの管理によると、デバドラはメジャー番号とマイナー番号の2つで特定できます。
ls -l /dev/pts/でメジャー番号とマイナー番号を取れます。・・・①

そして、Linuxデバイスドライバ開発を見ると、insmodコマンドでデバドラをロードするようですが、その時、デバドラ側でalloc_chrdev_region()にて自分の名前を登録しているようです。・・・②
また、デバイス・ファイルの名前はmknodコマンドで指定しているようです。

cat /proc/deicesで①で登録した名前と対応するメジャー番号が拾えます。・・・③

①のメジャー番号と②の名前を③の情報で結びつけることができると思います。


Linuxは浅い使い方しかしたことないので、以上は今調べたものです。
もし、何か間違っていたら申し訳ない。

投稿2017/04/28 13:43

Chironian

総合スコア23272

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

strike1217

2017/04/28 14:01

おお!! とあるサイトで以下のようなものを見つけました。 「最初の一文字は、デバイスファイルの型を表します。「c」がキャラクタデバイスファイル、「b」がブロックデバイスファイルを意味します。所有者、所有グループの後に表示されている「4, 64」という番号が、それぞれメジャー番号とマイナー番号を表します。メジャー番号4は、シリアルポートに対応するデバイスファイルを意味します。メジャー番号とデバイスの対応は、Linuxカーネルのドキュメントに記載されています。linux-2.6.26-at/Documentation/devices.txtを参照してください。」 まだデバイスドライバが特定できていないので、探査を続けます。
Chironian

2017/04/28 14:10

私も見つけてます。回答に書いた最初のリンク先ですね。 ↓にソースの情報が少し載ってます。ptsのソースのことも含まれているのかどうかイマイチよく分かりませんが、近いところにはありそうです。 http://wiki.bit-hive.com/linuxkernelmemo/pg/tty
strike1217

2017/04/28 14:36

linux kernel の/Documentation/devices.txt に 4番ですね。 4 char TTY devices 64 = /dev/ttyS0 First UART serial port sudo cat /proc/tty/driver/serial 私は、ディスプレイとの接続は、HDMIなんですが、tx, rx と出てきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問