私は最近経験したカーネルソースコード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
。