私が読んだところから、depmodの目的は、ロードされたときの各カーネルモジュールの依存関係を追跡することです。カーネルモジュールがロードされたときに自動的に決定されないのはなぜですか?ユーザー空間の共有ライブラリを動的にロードするのと同じですか?なぜカーネルモジュールの構築や作業にはdepmodが必要ですか?
9
A
答えて
15
depmodは直接的な依存関係を計算するだけでなく、ハードウェア識別子とそれを処理するモジュール間のマッピングも作成します。これは、検出されたハードウェアに対してロードする正しいモジュールを見つけるために使用されます。
なぜuserspaceのようなデマンドロードをしないのかについては、カーネルリンカが意図的にファイルシステムにアクセスできないためです。カーネルの哲学は、ファイルシステムのレイアウトは完全にユーザー空間に依存しているので、foo.ko
が/lib/modules/3.0.1/drivers/somesubsys/foo.ko
にあるという保証はありません。そのため、カーネルはユーザ空間ユーティリティ(depmodやmodprobeなど)を使ってモジュールの生データをロードする必要がある順に渡します。ユーザー空間がこのジョブで失敗すると、単にエラーが返され、ユーザー空間が混乱に対処できます。
関連する問題
- 1. データベースクエリやアプリケーションロジックで作業する必要がありますか?
- 2. なぜMODIFY AUTO_INCREMENTはテーブルを再構築する必要がありますか?
- 3. なぜルビーレールには、プーマやユニコーンが必要ですか?
- 4. カーネルモジュールのコンパイル - 必要なパッケージ
- 5. Bazelでカーネルモジュールを構築する
- 6. MYSQLクエリの構築に必要なヘルプ
- 7. Macが最初にIwebで構築されたWebサイトで作業する必要があります
- 8. リアクションネイティブ - なぜ私はバベルやウェブパックが必要ですか?
- 9. シンプルなjQueryプラグインを構築するには、助けが必要
- 10. データベース構築の手助けが必要
- 11. カーネルソースツリーなしで外部カーネルモジュールを構築する方法
- 12. 手作業が必要です。
- 13. EFはEntityCollectionを構築しますが、IQueryableが必要です。
- 14. DWで構築されたサイトはDWなしで作業できますか?
- 15. なぜPDFファイルにLOG4JとSLF4Jが必要ですか?なぜ.Docファイルには必要ないのですか?
- 16. Webサービスを構築するには、実用的なスタートポイントが必要です
- 17. JavaでWebアプリケーションを構築するには何が必要ですか?
- 18. .NET Coreで作業中にAssemblyInfoが必要ですか?
- 19. なぜ ":nodoc:"構文が必要ですか?
- 20. mod_rewrite - RewriteCond - なぜ比較構文が必要ですか?
- 21. sendmail.phpにはPHPの作業が必要です
- 22. udpセッションを再構築するためにはどのような構造が必要ですか?
- 23. なぜASP.NETやサーバーサイドの技術でコールバックが必要なのですか?
- 24. 作業フォルダからSVNディレクトリ構造を再構築するには?
- 25. WOW64 APIが必要なライブラリを構築できません。
- 26. ガイダンスはクエリビルダの構築に必要です
- 27. EFT(EFT)モバイルアプリを構築するには、明確化が必要
- 28. 私はWebアプリケーションを構築するために何が必要ですか?
- 29. instafeedのヘルプは、ウェブサイトでの作業が必要です
- 30. コードファーストクラスにはナビゲーションプロパティが必要なのはなぜですか?
ですが、modprobeはモジュール内の情報から依存関係を解決し、対応する依存モジュールを最初に調べることができますか? – PypeBros
depmodはmodprobeの使用のためにこの依存情報のキャッシュを構築します。実際には、この情報のためにすべてのモジュールをスキャンするのにはかなりの時間がかかるので、modprobeを呼び出すたびにそれをしたくない – bdonlan