编译内核模块,应该是没有报错.但什么文件都没有生成.请高手解答

下面是显示信息

=============================================================================================================

make -C /linux-2.6.29 M= modules ARCH=arm CROSS_COMPILE=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-

make[1]: 正在进入目录 `/linux-2.6.29'

CHK     include/linux/version.h

make[2]: “include/asm-arm/mach-types.h”是最新的。

CHK     include/linux/utsrelease.h

SYMLINK include/asm -> include/asm-arm

CALL    scripts/checksyscalls.sh

:1097:2: warning: #warning syscall fadvise64 not implemented

:1265:2: warning: #warning syscall migrate_pages not implemented

:1321:2: warning: #warning syscall pselect6 not implemented

:1325:2: warning: #warning syscall ppoll not implemented

:1365:2: warning: #warning syscall epoll_pwait not implemented

Building modules, stage 2.

MODPOST 123 modules

make[1]:正在离开目录 `/linux-2.6.29'

=============================================================================================================

我的Makefile文件如下

=============================================================================================================

ifneq ($(KERNELRELEASE),)

obj-m := memdev.o

else

KDIR := /linux-2.6.29

all:

make -C $(KDIR) M=$(PWD) modules ARCH=arm CROSS_COMPILE=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-

clean:

rm -f *.ko *.o *.mod.o *.mod.c *.symvers  modul*

endif

=============================================================================================================

执行后什么文件都没有生成.

急盼高手解答!!~

|

make -C /linux-2.6.29 M= modules ARCH=arm CROSS_COMPILE=/usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-

make[1]: 正在进入目录 `/linux-2.6.29'

执行的命令不对 应该 M=

你的Makefile没问题,关键是M=$(PWD)。

你的shell环境变量PWD没设或者shell不支持PWD变量,你检查一下:echo $(PWD)

你可以M直接设置成你模块源码所在的路径。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐