0

我正在尝试linux kernel moduleFedora 14. 我的内核版本是“ 2.6.35.14-97.fc14.i686”,我指/lib/modules/$(shell uname -r)/build M=$(PWD)的是 make 文件中的模块来编译我的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 安装它。我使用 ubuntu,我只需要下载包 3.5.0-22-generic 就可以使用它,但是在谷歌上快速搜索“Fedora 内核开发模块”让我在这里 希望这会有所帮助。

于 2013-01-23T00:33:13.413 回答
0

编译你的内核并安装模块 INSTALL_MOD_PATH=/path/ 同时编译你的 hello world .link 模块路径,比如 MAKE -C KDIR=INSTALL_MOD_PATH M='$PWD' modules

于 2014-05-12T13:55:19.113 回答
0

按照其他人的建议,请安装“kernel-devel”。这对我来说非常有效。

您可以通过以下方式安装它:

yum install kernel-devel
于 2016-11-21T14:33:46.070 回答
0

您需要安装正确版本的 kernel-devel,您应该将内核版本 ( uname -r ) 附加到 kernel-devel。

例如:我执行了“ yum install kernel-devel-4.8.6-300.fc25.x86_64 ”并且成功了。

于 2019-05-21T15:50:52.973 回答