組み込みシステム用のカーネルとモジュールの構築に問題があります。生成されたModule.symversには、無効な(0x00000000)CRCエントリを含むいくつかの(数十)エントリがあります。
問題のあるアイテムのデバッグを開始できるように、Module.symversを生成するプロセスを理解しようとしています。しかし、数時間のビルドプロセスを見た後でも、まだ何を理解していません。生産するmodule.symvers.
注 - 「モジュールの作成」のガイドラインではなく、実際にModule.symversの内容を生成するコードを探しています;-)
GCC 6.3 を使用して Linux 3.4.12 をビルドすると破損が発生したと思われますが、その構成を使用するにはそれをインポートする必要があります。サードパーティのバイナリBLOBモジュールをロードする必要があるため、Modversを無効にすることはオプションではありません。
ベストアンサー1
このファイルModule.symvers
はscripts/modpost
。最初にコメントを見てくださいMakefile.modpost、真ん中の人々ビルドファイル。ビルドとプログラム自体modpost.cこれはoptionsを使用して実行されます-m -i
。
を使用すると、使用中make modules KBUILD_VERBOSE=1
のコマンドを表示できます。