make报错: *** No rule to make target ‘...Module.symvers‘, needed by ‘xxx.ko‘. stop

it2023-07-09  71

自己写了一个Makefile文件,通过make命令编译自己写的字符驱动代码为.ko文件,报错如下: make: *** No rule to make target ‘/data2/linux-digilent-digilent-v4.4/Module.symvers’, needed by ‘driver/axidma.ko’。 stop

意思是缺失Module.symvers文件。

原因就在于,内核代码下载后,只是进行了解压,没有将内核代码编译过。也就是说此时内核代码只是一段源码,没什么用,需要将内核代码编译之后,在自己的makefile中使用内核编译设备驱动才有用。

在内核源码中使用如下命令即可生成Module.symvers: make modules

最新回复(0)