Module.symversを生成する方法は?

Module.symversを生成する方法は?

私は最近経験したカーネルソースコードrpmをシステム(OpenSuse)の外部で解凍しますか?;私のコンピュータで10時間以上費やしましたが、そこに説明されているプロセスを経て、どこにもいないことを発見して驚きましたModule.symvers

「モジュール.symversの生成」を検索すると、次の結果が表示されます。

注:
「modules_prepare」は、CONFIG_MODVERSIONSが設定されていてもModule.symversを構築しません。したがって、
モジュールのバージョン管理が機能するには、カーネル全体のビルドを実行する必要があります。
Linuxカーネルドキュメント::kbuild:module.txt)

…でも本当に理解できません。前のステップでカーネルが構築されていませんでした(上記のリンクに記載されていますか?CCで複数の* .oファイルとLDを作成するのに10時間以上かかりました)。彼らとつながっているので、何かが構築されたでしょう。それではどこにありますかModule.symvers

より具体的には、Module.symversを生成するには正確に何を呼び出す必要がありますか?私はこれがうまくmake prepareいかないことを知っています。しかし、動作するコマンドは何ですか?

ベストアンサー1

Module.symversモジュールを(再)コンパイルすると(再)生成されます。実行すると、カーネルツリーのルートにファイルが作成されmake modulesます。Module.symvers

make実行せずに単に実行した場合は、make modulesモジュールが構築されていません。カーネル自体(vmlinuxまたはアーキテクチャによるイメージ形式のいずれか)の記号はSystem.map

おすすめ記事