6

ドライバーをコンパイルしようとしています。私のカーネルのバージョンは 3.2.0-27-generic です。

必要なものだけを残しました:

#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/proc_fs.h>
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/dmi.h>

これらのヘッダーが見つかりました。しかし、コンパイルしようとすると、asm/cache.h ファイルが見つからないというエラーが発生します。ディッパーを掘り下げたところ、「asm」などのフォルダーはなく、asm-generic であり、必要なヘッダーが含まれていることがわかりました。

ヘッダー付きのフォルダーの構造です: なぜ名前が変更されたのですか? そのため、別のドライバーをコンパイルできません。「asm-geneic」の名前を「asm」に変更すると、他のヘッダーが欠落することになります。ここで何が問題なのですか?

4

1 に答える 1

4

asm / cache.hはアーキテクチャに依存し、アーキテクチャごとに異なるasmディレクトリがあります

arch/powerpc/include/asm/
arch/x86/include/asm/
arch/arm/include/asm
[...]

問題はアーキテクチャasmフォルダに到達できないことであるため、include /asm-genericの名前をinclude/asmに変更することはできません。.configファイルを確認するか、 ARCH変数を手動で設定してみてください。

于 2012-07-30T22:17:54.810 に答える