0

で「Hello world」linux kernel moduleプログラミングをコンパイルしようとしていますFedora 14。私のカーネル バージョンは " " で、プログラムをコンパイルするために make ファイル内のモジュールを2.6.35.14-97.fc14.i686参照しています。/lib/modules/$(shell uname -r)/build M=$(PWD)hello.o

この「ビルド」ファイルは、それを特別なファイルとして示し、/lib/module/2.6....i686/フォルダー内のソースにリンクされています。

コードをコンパイルすると、エラーが発生します。

make -C /lib/modules/2.6.35.14-97.fc14.i686/build M=/root/kernel modules
make: *** /lib/modules/2.6.35.14-97.fc14.i686/build: No such file or directory.  Stop.

私のMakefile

obj-m +=hello.o

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

このモジュール プログラムを実行するための解決策を教えてください。

4

4 に答える 4

0

他の人が提案したように、「kernel-devel」をインストールしてください。これは私にとって完璧に機能しました。

次の方法でインストールできます。

yum install kernel-devel
于 2016-11-21T14:33:46.070 に答える
0

正しいバージョンの kernel-devel をインストールする必要があります。kernel-devel にカーネル バージョン ( uname -r ) を追加する必要があります。

例: 「yum install kernel-devel-4.8.6-300.fc25.x86_64」を実行したところ、うまくいきました。

于 2019-05-21T15:50:52.973 に答える
0

yum を使用してインストールできる「kernel-devel」のみが必要です。私はubuntuを使用しており、パッケージ3.5.0-22-genericをダウンロードして機能させる必要がありましたが、Googleで「Fedoraのカーネル開発モジュール」をすばやく検索すると、 これが役立つことを願っています

于 2013-01-23T00:33:13.413 に答える