创建模块的问题?

时间:2016-06-29 18:43:28

标签: linux embedded-linux

我正在尝试学习模块编程,因为我在c中使用了一个示例程序

#include<linux/module.h>
#include<linux/kernel.h>

int init_module(void)
{
printk(KERN_INFO "Hello man .\n");
return 0;
}

void cleanup_module(void)
{
printk(KERN_INFO "Good bye see you soon\n");
}

为了编译这个c代码我写了一个make文件,如下所示

    obj-m + = Hello_module.o
all:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD)modules
clean:
    make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

然后我使用make命令编译这个,我得到以下错误

joe@joe-O-E-M:~/Module_pgm$ make
make -C /lib/modules/3.19.0-25-generic/build M=/home/joe/Module_pgmmodules
make[1]: Entering directory `/usr/src/linux-headers-3.19.0-25-generic'
./scripts/Makefile.build:44: /home/joe/Module_pgmmodules/Makefile: No such file or directory
make[2]: *** No rule to make target `/home/joe/Module_pgmmodules/Makefile'.  Stop.
make[1]: *** [_module_/home/joe/Module_pgmmodules] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.19.0-25-generic'
make: *** [all] Error 2

我该如何解决这个问题..

1 个答案:

答案 0 :(得分:2)

您错过了$(PWD)modules之间的空格。尝试:

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

“无此类文件或目录”错误消息显示其尝试查找的路径。