"modinfo --field"の可能な値は何ですか?

modinfo --field「著者」、「説明」などのフィールドをフィルタリングできます。

質問:可能な値の完全なリストはどこにありますか?--field

私が今まで試したこと:

  • man 8 modinfoいくつかの「共通領域」が言及され、「おそらくあなたが探しているものが何かを最もよく知っているでしょう」と考えることになりました。
  • grepを介してソースコードをナビゲートしている以外はほとんど何も見つかりませんでした./kmod-9/tools/modinfo.c。これはCの文盲なのであまり役に立ちません(例えば、パッケージ全体をkmod調べてかなりの用語を見つけました)。
  • カーネルモジュールプログラミングガイド:上記を参照
  • 私が重要なことを逃したかもしれません...

ベストアンサー1

modinfo.modinfoカーネルモジュールセクションから情報を抽出します。カーネルモジュールの作成者が次のセクションを追加したため、この情報は通常このセクションに表示されます。

MODULE_DESCRIPTION("Joe's awesome driver");
MODULE_AUTHOR("Joe Blow<[email protected]>");
MODULE_LICENSE("GPL");

おそらくこの点は明らかです。ただし、要点は、ドライバーの作成者が希望する自由形式情報を追加できるため、明示的なリストがないことです。たとえば、次のようになります。

MODULE_INFO(my_cool_field, "Wow, so cool");

いくつかの共通領域があります。

そして上記のもう一つのことは、プログラムがどのmodinfoフィールドがあるのか​​わからないということです。単に.modinfoセクションモジュールでそのフィールドを検索するだけです。

フォローアップ:Linuxソースからinclude/linux/module.hを検索すると、次のマクロが定義されていることがわかります。

#define MODULE_ALIAS(_alias) MODULE_INFO(alias, _alias)
#define MODULE_LICENSE(_license) MODULE_INFO(license, _license)
#define MODULE_AUTHOR(_author) MODULE_INFO(author, _author)
#define MODULE_DESCRIPTION(_description) MODULE_INFO(description, _description)
#define MODULE_VERSION(_version) MODULE_INFO(version, _version)
#define MODULE_FIRMWARE(_firmware) MODULE_INFO(firmware, _firmware)

おすすめ記事