![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
linux模块编译后加载不成功 5
我在menuconfig中选择了要编译的USBNET模块,编译成功后,modprobeusbnet,却报错了:modprobe:ERROR:couldnotinsert'...
我在menuconfig 中选择了要编译的USBNET模块,编译成功后,modprobe usbnet,却报错了:modprobe: ERROR: could not insert 'usbnet': Exec format error,用dmesg打印出来的信息是:usbnet: exports duplicate symbol usbnet_device_suggests_idle (owned by kernel),请各位大牛支招!
展开
展开全部
从dmesg的输出来看,内核已经export了一个同样的symbol,你加载的驱动再次输出一遍就有问题了。
可能原因:
usbnet模块可能在系统启动后已经加载了,你不需要手动再次加载。这个又可能由两个原因造成:(1)你在menuconfig中选择USBNET模块为[*]模式(驱动集成到内核),而非[M]模式(驱动以模块方式动态插入内核);(2)你已经选择了[M]模式,但是按照系统的默认配置在系统启动过程中会自动动态加载这个驱动,无需手动加载;
虽然选择了USBNET模块并重新编译了内核,但是新编译的内核并没有更新到系统上,系统还是使用的老的内核。
现在你应该可以排除一下上面的猜测的几种可能原因吧?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询