请帮忙,我创建了一个名为hello.c的文件
#include linux/module.h
#include linux/kernel.h
#include linux/init.h
static int __init hello_start(void){
printk(KERN_INFO "Loading hello module...\n");
printk(KERN_INFO "Hello world Mr. Praktikan\n");
return 0;
}
static void __exit hello_end(void){
printk(KERN_INFO "Goodbye Mr. Praktikan\n");
}
module_init(hello_start);
module_exit(hello_end);然后我做了Makefile
obj-m = hello.o
KVERSION = $(shell uname -r)
all:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean但是当我用make运行它时,它会显示出一些错误
make -C /lib/modules/5.0.0-32-generic/build M=/home/nisrina/Documents/Bab 2 modules
make[1]: Entering directory '/usr/src/linux-headers-5.0.0-32-generic'
arch/x86/Makefile:147: CONFIG_X86_X32 enabled but no binutils support
make[1]: *** No rule to make target '2'. Stop.
make[1]: Leaving directory '/usr/src/linux-headers-5.0.0-32-generic'
Makefile:4: recipe for target 'all' failed
make: *** [all] Error 2我该怎么办?
发布于 2020-04-01 16:57:10
我刚才有这个问题。
从构建路径中删除空格。
使-C /lib/modules/5.0.0-32-泛型/build M=/home/nisrina/Documents/Bab 2模块
should be
使-C /lib/模块/5.0.0-32-泛型/build M=/home/nisrina/Documents/Bab_2_模块
我知道这听起来像个愚蠢的解决办法,但对我有效。
https://askubuntu.com/questions/1191449
复制相似问题