mdevとは何ですか?/ dev / *ノードをLinuxで作成する方法は?


11

私たちのLinuxカーネルは2.6.31で、busyboxが組み込まれた組み込みMIPSプロセッサーで実行されています。

初期化スクリプト(rcS)はmdevを次のように開始します。

echo "/sbin/stbhotplug" > /proc/sys/kernel/hotplug
mdev -s

Linuxユーティリティのmdevが何をしているのか誰か教えてもらえますか?

stbhotplugはイーサネットインターフェイスを処理するスクリプトであるため、自動ホットプラグを行うように見えます。

また、与えられたrootfsにはコンソールデバイス/dev/consoleしかありません/dev。つまり、内の唯一のファイルです。

ただし、システムの実行中は、/devディレクトリにデバイスファイル(/dev/mtdなど)がいっぱいです。

私が尋ねる理由/dev/ubi_ctrlは、見つからない、または見つからないというエラーが時々発生することです/dev/ubi1

Linuxはどのように、またはいつこれらのデバイスを作成しますか?

ありがとう。

回答:



6

mdevは、組み込みデバイスで使用するためのudevの軽量な代替品です。どちらも/dev、特定のイベントが発生したときのデバイスファイルの作成とアクションの開始を処理します。


それで、/devデバイスが作成されていない場合、問題mdevまたはタイミングの問題である可能性がありますか?

はい、私が理解している限り、両方が真実である可能性があります。しかし、昨日のニュース記事でmdevについて読んだばかりなので、私は答えを書いただけです。一般的に私はそれについての経験がなく、これ以上の援助はできません。そのため、コミュニティWikiの回答のキックスタートとして私の回答を投稿しました。

1

mdev基本的にはmknod、事前に構成されたデバイスファイルのセットが必要です。

選択肢がある場合は、代わりに使用します。

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

これは、特別なdevtmpfsファイルシステムをに自動的にマウントし、次の/devようにモジュールがに独自のデバイスファイルを自動的に作成できるinsmodようにします。https : //stackoverflow.com/questions/5970595/how-to-create-a-device-node-from -the-init-module-code-of-a-linux-kernel-module / 45531867#45531867

これはBuildrootとほとんどのディストリビューションが現在デフォルトで行っていることです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.