e1000网卡驱动编译遇到的问题[已解决]
各位大牛,本人在内核相关的方面还是个初学者,遇到了一些问题,希望大家能帮我解决或者是给我一些参考
我买了个intel的千兆网卡,在我的系统(ubuntu 8.10, kenel 2.6.27.7)中可以自动识别,因为貌似e1000这个网卡驱动在内核中是有的。我还有一个内核,2.6.24.7,是我自己编译的,没有支持千兆网卡,也不能识别
但是我需要使用一个修改版的e1000驱动,按照文档中说法,我却无法编译成功。以下是错误提示
lili@linux:~/work/click/drivers/e1000-7.x/src$ make
make -C /lib/modules/2.6.24.7-click/build SUBDIRS=/home/lili/work/click/drivers/e1000-7.x/src modules
make[1]: 正在进入目录 `/usr/src/linux-2.6.24.7'
scripts/Makefile.build:46: *** CFLAGS was changed in "/home/lili/work/click/drivers/e1000-7.x/src/Makefile". Fix it to use EXTRA_CFLAGS。 停止。
make[1]: *** [_module_/home/lili/work/click/drivers/e1000-7.x/src] 错误 2
make[1]:正在离开目录 `/usr/src/linux-2.6.24.7'
make: *** [default] 错误 2
在两个内核中都是同样的错误
按照网上的一些说法,把Makefile文件中的CFLAGS替换为EXTRA_CFLAGS后,会出现很多个语法错误
请问,如何解决呢
解决方法:
换个版本更新的驱动,我自己汗死
[ 本帖最后由 txdgtwpv 于 2009-4-20 11:07 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
make -f ./Makefile
什么错误
复制代码
将 Makefile 中的 CFLAGS 改为 EXTRA_CFLAGS
删掉kernel source code中的scripts/Makefile.build文件中的这几行,就ok了
# If the save-* variables changed error out
ifeq ($(KBUILD_NOPEDANTIC),)
ifneq ("$(save-cflags)","$(CFLAGS)")
$(error CFLAGS was changed in "$(kbuild-file)". Fix it to use EXTRA_CFLAGS)
endif
endif
gcc的版本是多少
谢谢前面的几位大牛,在按照各位的方法查看错误的时候,突然发现我要编译的版本号太低了,内核已经支持不了了
恭喜。移植的时候首先要考虑版本匹配的问题