我在自定义扶手板上运行自定义编译内核。我尝试编译一个简单的内核模块,我得到一个modpost错误。
root@****:~/testmod# make
make -C /lib/modules/3.14.52/build M=/root/testmod modules
make[1]: Entering directory `/usr/src/linux_3.14.52'
Building modules, stage 2.
MODPOST 1 modules
scripts/mod/modpost: 1: scripts/mod/modpost: �: not found
scripts/mod/modpost: 1: scripts/mod/modpost: ELF: not found
scripts/mod/modpost: 2: scripts/mod/modpost: Syntax error: "(" unexpected
make[2]: *** [__modpost] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux_3.14.52'
make: *** [all] Error 2
root@****:~/testmod# ls
Makefile modules.order test.c test.o
如您所见,c文件确实已编译但我没有得到ko文件。我的modpost脚本是否已损坏?
当我将内核模块包含在内核源代码中并在主机上编译整个内核时,我确实编译了内核模块。
也是我的makefile。很简单。
obj-m += test.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