web-dev-qa-db-ja.com

/ devにdevtmpfsを使用する

カーネルに次のオプションがあることに気づきました:CONFIG_DEVTMPFS

Device Drivers -> Generic Driver Options -> Maintain devtmpfs to mount at /dev

そして、それはDebianディストリビューションカーネル3.2.0-4-AMD64でデフォルトで有効になっていることがわかります

このオプションがもたらす違いを理解しようとしています。このオプションを使用しない場合、/devtmpfsとしてマウントされ、このオプションを使用すると、devtmpfsとしてマウントされます。それ以外は特に違いはありません。

helpもそれを明確にしませんでした:

これにより、起動の早い段階でtmpfs/ramfsファイルシステムインスタンスが作成されます。このファイルシステムでは、カーネルドライバーコアは、割り当てられたメジャー/マイナー番号を持つすべての登録済みデバイスに対するデフォルトの名前とアクセス許可を持つデバイスノードを維持します。

完全に機能する/ devディレクトリを提供します。通常、ここでudevが最上位で実行され、権限を管理し、意味のあるシンボリックリンクを追加します。

非常に限られた環境では、それ以上の支援なしで十分な機能の/ devを提供する可能性があります。また、シンプルなレスキューシステムを可能にし、動的なメジャー/マイナー番号を確実に処理します。

誰かがCONFIG_DEVTMPFSと標準の/devの違いを説明できますか?

25
user1968963

devtmpfs は、カーネルによって自動生成されたデバイスノードを備えたファイルシステムです。つまり、udevを実行したり、静的な/devレイアウトを作成したり、追加の不要な存在しないデバイスノードを作成したりする必要はありません。代わりに、カーネルは既知のデバイスに基づいて適切な情報を入力します。

一方、標準の/dev処理では、udev、追加のデーモンの実行、または/devでのデバイスノードの静的な作成が必要です。

26
Ulrich Dangel