繁体   English   中英

Linux内核模块编程Makefile错误

[英]Linux Kernel Module programming Makefile error

我正在尝试在Fedora 14编译“ Hello world” linux kernel module编程。 我的内核版本是“ 2.6.35.14-97.fc14.i686 ”,我指的是make文件中的/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

请给我解决方案以运行此模块程序。

您只需要可以使用yum安装的“ kernel-devel”即可。 我使用ubuntu,我只需要下载3.5.0-22-generic软件包即可使用,但是在Google上快速搜索“ Fedora的内核开发模块”使我在这里希望这对您有所帮助。

尝试安装kernel-devel

yum install kernel-devel

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

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

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

yum install kernel-devel

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM