Linux内核外部驱动模块编译报错ERROR: “******” [drivers/**.ko] undefined!

2014-11-24 01:40:34 · 作者: · 浏览: 3

我往Linux内核里添加一个驱动模块,根据《Linux设备驱动》第三版,


相关阅读


修改Makefile如下:


obj-m := GobiNet.o
GobiNet-objs := GobiUSBNet.o QMIDevice.o QMI.o


但是出现了如下错误:


编译过程中生成了"GobiNet.mod.c"和"GobiNet.o",但是并没有生成GobiNet.ko文件。
经历一番折腾之后,我发现问题的原因了。


我误解了错误信息,没有清楚ko生成过程。编译模块在链接过程中查找外部符号表,但并没有找到,因为该外部符号表并没有编译。


根据以上分析,我查看了外部符号在drivers/net/usb/usbnet.c文件,这就需要配置.config文件中设置CONFIG_USBNET=y。


希望对大家有所帮助。


相关阅读