Linux内核模块编程Makefile错误

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (132)

我正在尝试编译一个“Hello world” linux kernel module编程Fedora 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

请给我解决方案来运行这个模块程序。

提问于
用户回答回答于

正如其他人所建议的那样,请安装“kernel-devel”。这对我很有用。

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

yum install kernel-devel
用户回答回答于

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

扫码关注云+社区

领取腾讯云代金券