Linuxデバイスドライバ、ed 3(ldd3)のサンプルを入手しようとしていますが、本書の作業を開始する前に作業しています私が思うに、私はこれを見つけたメイクファイルを見Linuxデバイスドライバ3コードのコンパイルエラーとLinuxヘッダーファイル
inp.c:33:20: error: [u]asm/io.h:[/u] No such file or directory
が(ある:私は使用することができます例が....私は、次のエラー(見DebianのスクイズでエラーともCrunchbang Linux)を取得しています問題):
KERNELDIR ?= /lib/modules/$(shell uname -r)/build
INCLUDEDIR = $(KERNELDIR)/include
/lib/modules/uname -r
/build wの内容HICHは
$ uname -r
2.6.39-bpo.2-486
$ ls /lib/modules/`uname -r`/build
arch include Makefile Module.symvers scripts
$ ls /lib/modules/`uname -r`/build/include
config generated linux
必要なファイルを持っていません探している作るディレクトリを/usr/src/linux-headers-2.6.39-bpo.2-486/するためのリンクです。 /usr/src/linux-headers-2.6.39-bpo.2-common/とasm/io.hファイルが見つからない@ /usr/src/linux-headers-2.6.39-bpoというファイルが見つかりました。 2-共通//ASM-ジェネリック/
$ ls /usr/src/linux-headers-2.6.39-bpo.2-common/
arch include Kbuild Makefile scripts
$ ls /usr/src/linux-headers-2.6.39-bpo.2-common/include/
acpi crypto Kbuild linux media net rdma scsi staging trace xen
asm-generic drm keys math-emu mtd pcmcia rxrpc sound target video
は、私はすでにDebianとの両方で(のlinux-ヘッダなど
uname -r
パッケージをインストールしている...私はそのディレクトリ内のファイルを取得するために任意のパッケージをインストールする必要がありますか含めますCrunchbang)gnewsenseでは、/ lib/modules/$(shell uname -r)/ buildのファイルを見つけましたが、古いカーネルでした。それとも、ディストリビューション特有のものなのでしょうか...私はどのようにコンパイルするのか教えてください...私はMakefileにはあまりよくありません。どうすればmakefileを変更して、ヘッダーファイルを探すことができますか?他のディレクトリ....
最初のおかげで、 asp5
だけで簡単なメモ:Iドンあなたの '/ lib/modules/$(uname -r)/ build /'ディレクトリが正しく移植されているとは思われません。適切なパッケージがインストールされていますか? 'ls/lib/modules/$(uname -r)/ build | wc -l'は "27"と表示されます。 '.../include /'は '.../include/asm'(' asm-x86'へのシンボリックリンク)を含む_24_項目を持っています。 – sarnold
@sarnold:私はlinux-headers-'uname -r'パッケージをインストールしました。Debianとデリバティブの中に必要なすべてのヘッダをインストールする必要があります。どのディストリビューションを使用しているのか、カーネルのバージョンを教えてください。 ..私は 'gnewsense'ディストリビューションを使用すると、そのディレクトリに多くの項目を見ることができます...残念ながら私の新しいノートパソコンでそれを得ることができません...とにかく私は適切なパッケージがインストールされているようだが、コンパイルは行きますスムーズに...ありがとう。 – asp5