2012-03-04 1 views
4

私はフォーラム(http://www.schaeuffelhut.de/wordpress/?p=237&cpage=1#comment-384)の手順に従ってLinuxカーネルソースを取得し、モジュールをクロスコンパイルしました。 google nexusのカーネルバージョンは、フォーラムとまったく同じです。私は最初アンドロイドデバイスにうまくインストールされたテストモジュールhello-1.koで正常にテストしました。しかし、モジュールec.koをinsmodを使ってアンドロイドデバイスにインストールすると、次のようなエラーが発生します。Androidカーネルでinsmodを実行しているときにそのようなファイルやディレクトリのエラーがありません

apurvaする@ apurva-のInspiron-1464:〜/ $ adbのシェル
$ CDのSDカード/データ/ EC
$のLS
ec.ko
$ suコマンド
#のinsmodののec.ko
insmodは: 'ec.koは'(そのようなファイルまたはディレクトリ)

を失敗しないはinit_moduleそれはファイルec.koが存在することは明らかです。しかし、なぜそれがファイルを選んでいないのか分かりません。私はhello-1.koのために同じことをしたし、insmodはかなりうまくいく。許可の問題はなく、ec.koはhello-1.koで取得したのと同じ許可を得ます。

これは私に質問します。このモジュールはUbuntuでinsmodを取得するため、アンドロイドデバイスにカーネルモジュールの特定の制限がありますか?次のアクションは、ヒットとトライアルの方法を調べて、ec.cのどの行が問題を引き起こしているかを確認することです。その間にいくつかの提案があれば教えてください。

答えて

0

dmesgログを確認して、何かを助けることができます。同じ問題が発生しました。この問題を解決する方法は次のとおりです。 insmodコマンドを使用してアンドロイドデバイスにモジュールをインストールしましたが、あなたのようなエラーメッセージが表示されました。その時点でdmesgをチェックしましたが、これがあります:Unknown symbol "XXX"(関数名を忘れてしまいました。 )私はこのシンボルを見つけるためにcat/proc/kallsyms | grep "XXX"というコマンドを使用しましたが、何も見つかりませんでした。この問題の原因はAndroidMで廃止されました。関数。

関連する問題