gpt4 book ai didi

c - 内核模块使文件错误

转载 作者:行者123 更新时间:2023-11-30 16:17:23 25 4
gpt4 key购买 nike

所以我试图在arch linux中构建一个简单的第一个内核模块,但是我的make文件出现错误

我试图找到我的uname -r的内核头文件,但是没有运气

obj-m += Test.c
KIDR = /usr/lib/modules/5.1.3-arch1-1-ARCH
all:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
clean:
echo DONE


我的错误是:

prompt$ make
make -C SUBDIRS=/home/johndoe/KernelModule modules
make[1]: *** SUBDIRS=/home/johndoe/KernelModule: No such file or directory. Stop.
make: *** [Makefile:4: all] Error 2


我的代码是:

#include <linux/init.h>
#include <linux/module.h>
static int entry_func(void){
printk("ENTERED");
return 0;
}

static exit_func(void){
printk("EXITING");
}
module_init(entry_func);
module_exit(exit_func);

最佳答案

您的路径似乎不正确。请检查您的源文件的路径。您将$SUBDIRS变量用于外部模块所在的路径。因此,如果模块位于源文件中,则可以将其删除。

obj-m   += Test.o

all:
make -C ${KDIR} modules

clean:
make -C ${KDIR} clean


您可以找到其他信息 here

您是否已安装内核源代码?否则,您的系统将不包含任何源。

关于c - 内核模块使文件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56264345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com