当前位置: 技术问答>linux和unix
高手指点linux内核驱动
来源: 互联网 发布时间:2017-02-19
本文导语: 问题是这样的,我的内核版本是linux-2.6.39 现在我要编译pppoe,pppox驱动模块 之前全部编译生成的driver/net/pppoe.ko(5123452 bit大小),driver/net/pppox.ko(321541 bit大小),pppoe只依赖pppox,pppox没有依赖其他模块,能够正常加载使用)...
问题是这样的,我的内核版本是linux-2.6.39
现在我要编译pppoe,pppox驱动模块
之前全部编译生成的driver/net/pppoe.ko(5123452 bit大小),driver/net/pppox.ko(321541 bit大小),pppoe只依赖pppox,pppox没有依赖其他模块,能够正常加载使用)(第一次编译make modules)
现在功能调整,要重新编译pppoe.c,pppoe.c,pppox.c与原来代码全部一样
只不过我通过make modules SUBDIRS=drivers/net也生成了pppoe.ko(470934 bit),pppox(315432 bit)同样的源码为什么生成的ko文件变小了呢?能够insmod上,但是使用中就出问题,请问是什么原因呢?pppox也没有依赖其他的啊,为什么变小了呢?
也就是通过make modules SUBDIRS=drivers/net变异的ko变小了,也不能正常使用
现在我要编译pppoe,pppox驱动模块
之前全部编译生成的driver/net/pppoe.ko(5123452 bit大小),driver/net/pppox.ko(321541 bit大小),pppoe只依赖pppox,pppox没有依赖其他模块,能够正常加载使用)(第一次编译make modules)
现在功能调整,要重新编译pppoe.c,pppoe.c,pppox.c与原来代码全部一样
只不过我通过make modules SUBDIRS=drivers/net也生成了pppoe.ko(470934 bit),pppox(315432 bit)同样的源码为什么生成的ko文件变小了呢?能够insmod上,但是使用中就出问题,请问是什么原因呢?pppox也没有依赖其他的啊,为什么变小了呢?
也就是通过make modules SUBDIRS=drivers/net变异的ko变小了,也不能正常使用
|
你直接 make 或者 make modules 看看结果如何。
看起来像是内核配置的问题, 对比一下 .config 和之前的 .config 是否有差异。
看起来像是内核配置的问题, 对比一下 .config 和之前的 .config 是否有差异。
|
不知原因
不过linux的make很智能,第二次make modules只会编译你修改了的文件,
你没有必要make modules SUBDIRS=drivers/net
不过linux的make很智能,第二次make modules只会编译你修改了的文件,
你没有必要make modules SUBDIRS=drivers/net
|
既然全部一样,为啥重新编译? 使用中啥问题?