我想编译一个“Hello world”linux kernel module
编程Fedora 14
。 我的内核版本是“2.6.35.14-97.fc14.i686
”,我指的是make文件中的/lib/modules/$(shell uname -r)/build M=$(PWD)
模块来编译我的hello.o
程序。Linux内核模块编程Makefile错误
此“生成”文件显示它为特殊文件并链接到/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
请给我的解决方案来运行这个模块程序。
消息是很清楚...有没有'build'目录,或父迪尔斯的至少一个(/ lib目录,/ lib/modules目录,/ lib中/ modules/2.6 ...)缺失。 –
检查你的/ lib/modules/*目录。可能不是'2.6.35.14-97.fc14.i686' ...对于Ubuntu,它是'3.5.0-22-generic',不知道Fedora。 – Veger
你的系统中是否安装了kernel-devel或类似的软件包? – Xeor