编译内核之前一定要搞清楚的是网卡的芯片号.比如我有一块SMC的网卡,但是我是无法在Linux的内核配置菜单里找到SMC这样的字样的,Linux不是win95,有那么长一串厂商牌号等.我在这个SMC的卡上找到了digital 21140-AE的字眼,于是我知道这个卡用的是DEC 21140-AE芯片,于是按照这个寻找,就找到了驱动.
知道了芯片类型,或者兼容类型(比如ne2000)就可以开始编译内核了.具体的针对不同系统的内核编译推荐先看看有关内核编译的文章,这里不多作介绍.
进入/usr/src/linux
运行make menuconfig进入菜单配置内核.找到Network Device Support.选则EtherNet,再选则相应的芯片号.如果是ISA系线的NE2000,就选则other ISA cards,选则NE2000/NE1000 ISA support.如果是PCI的网卡,就选则PCI ethernet adapters.注意,PCI卡未必都能这样驱动,很多都不行,得另外找driver.比如Intel PCI EtherExpress Pro 100等.
有关其它选项希望能多自己摸索.多看看help和how-to.
配置完内核后,运行make dep;make;make zlilo就可以了.如果内核选项过多会出现过大的情况而无法安装.那么需要把一些不必要的驱动去掉.
一般这样之后再启动就可以发现网卡了.驱动了网卡,下一步就是设定TCP/IP这些东西.这就不是这里的内容了.
我的经验,Linux下NE2000兼容卡都比较好设.3c系列的卡也都有支持.至于其它卡比如我的DEC 21140就麻烦很多.
另外有些卡即使用某种芯片也未必就能用这个芯片的驱动,这种情况就是有驱动程序也不能用,就需要上网查了.
有关Intel Etherexpress系列卡的配置.Linux内核中有Etherexpress 16的支持,但没有其它卡的driver.在http://cesdis.gsfc.nasa.gov/linux/dr...??EtherExpress 100B pro的讨论.在那里可以download到一个c源码的驱动程序,编译进内核就可以了. |