/usr/src/linux-headers-5.0.0-32-generic' arch/x86/Makefile:147: CONFIG_X86_X32 已启用但不支持 binutils

/usr/src/linux-headers-5.0.0-32-generic' arch/x86/Makefile:147: CONFIG_X86_X32 已启用但不支持 binutils

请帮忙,我创建了一个名为 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

我应该怎么办?:(

答案1

我刚才遇到了这个问题。

从构建路径中删除空格。

使-C /lib/modules/5.0.0-32-generic/build M = / home / nisrina / Documents /Bab 2 模块

应该

制作-C /lib/modules/5.0.0-32-generic/build M = / home / nisrina / Documents / Bab_2_modules

我知道这听起来像是一个愚蠢的解决办法,但它对我来说很有效。

相关内容