ドライバを生成するための無効なビルドパス

ドライバを生成するための無効なビルドパス

次の簡単なHello Worldドライバを作成したいと思います。2ページそしてMakefileを使ってコンパイルします。

obj-m := hello.o

all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

しかし、私は次のようになります。

作る1: *** /lib/modules/4.3.5-300.fc23.x86_64/build: そのファイルやディレクトリはありません。

これは論理なので立てるリンク/usr/src/kernels/4.3.5-300.fc23.x86_64で、私の/usr/srcディレクトリは空です。しかし、カーネル開発インストール済みrpm -qa|grep kernel::

kernel-headers-4.3.5-300.fc23.x86_64
kernel-modules-4.3.5-300.fc23.x86_64
kernel-core-4.2.3-300.fc23.x86_64
kernel-devel-4.3.5-300.fc23.x86_64
kernel-4.2.3-300.fc23.x86_64
kernel-modules-extra-4.3.5-300.fc23.x86_64
kernel-modules-extra-4.2.3-300.fc23.x86_64
kernel-core-4.3.5-300.fc23.x86_64
libreport-plugin-kerneloops-2.6.4-1.fc23.x86_64
abrt-addon-kerneloops-2.8.0-2.fc23.x86_64
kernel-4.3.5-300.fc23.x86_64
kernel-modules-4.2.3-300.fc23.x86_64

私はこれらのパッケージがすでにそこに保存されている可能性があることを読んでおり/usr/include、インストールしようとすると当然すでにインストールされているというメッセージが表示され続けます。

質問:hello.cをhello.koに正しくコンパイルするには、makefileまたはインストール中に何をすべきですか?

私はFedora 23を使用しています。

ベストアンサー1

いいですね。私の使命は、カーネルとすべてのkernel-Xモジュールをアップグレード/インストールすることです。その後、カーネル(適切なバージョン)ディレクトリが下に表示されます。/usr/src/kernels/

おすすめ記事