Linuxカーネルがモジュールに不明な記号を挿入したとき



When Linux Kernel Inserts Module Unknown Symbol Module



@ [TOC]を転載(Linuxカーネルがモジュールを挿入するときのモジュール内の不明な記号)

2014年1月2日15:53:34Wuxi埋め込みの人々読み取り:5335



検出されたドライバをコンパイルしますinsmod: './ igb.ko'の挿入エラー:-1モジュールの問題で不明なシンボル、インターネットを調べ、dmesgを表示すると言われています|出力情報の不明なシンボルを確認し、これらをロードします。モジュールは正常です。私の出力は次のとおりです。
1

3
4
5

[3548.357465] igb:不明なシンボルdca_remove_requester
[3548.358569] igb:不明なシンボルdca_add_requester
[3548.358814] igb:不明なシンボルdca_unregister_notify
[3548.358817] igb:不明なシンボルdca_register_notify
[3548.358924] igb:不明なシンボルdca3_get_tag



しかし、私はそれをシステムで見ています

dca_remove_requester

dca_add_requester



dca_unregister_notify

dca_register_notify

dca3_get_tag

5つのモジュールが見つかりません。間引きは、モジュールが依存する他のモジュールがロードされていないことが原因であると考えられます。

直接使用:modinfo ./igb.ko | grepdependモジュールの依存関係を見つけます。結果は次のとおりです。

依存:dca

次に、以下を実行します。

localhost:/opt/igb/igb-4.0.17/src#modprobe dca

localhost:/opt/igb/igb-4.0.17/src#insmod ./igb.ko

モジュールをロードする前に、彼の依存関係がすでにロードされているかどうかを確認する必要があるようです。

添付:「モジュール読み込み中のモジュールエラー」

Insmod: error inserting './igb.ko': -1 Unknown symbol in module ---> The dependent module is not loaded, you need to load the modules listed in depends Insmod: error inserting './igb.ko': -1 Operation not permitted ---> This is of course an error that occurs when you execute it with a normal user. Insmod: error inserting './igb.ko': -1 Invalid module format ---> The module's vermagic (the kernel version of the compiled kernel environment) does not match the current system Insmod: error inserting './aacraid.ko': -1 No such device ---> The module is correct, but there is no corresponding device

ああ、他はまだ集めてないので考えてみます。