size used by not tainted rhinefet 38752 1 8139too 16448 1 mii 2408 0 [8139too] 这样,看到rhinefet模块已经加载了,基本上,这样就证明已经编译成功. 6. 让它开机时加载 [root@kindgeorge dlkfet-4.24]# vi /etc/modules.conf 在后面加上一行: alias eth1 rhinefet 7. 配置一下网络 [root@kindgeorge dlkfet-4.24]# vi /etc/sysconfig/network-sc-ripts/ifcfg-eth1 device=eth1 bootproto=static ipaddr=192.168.4.202 netmask=255.255.255.0 network=192.168.4.0 gateway=192.168.4.250 broadcast=192.168.4.255 onboot=yes 8.启动网卡,然后用ifconfig查看, ifup eth1 [root@kindgeorge dlkfet-4.24]# ifconfig eth0 link encap:ethernet hwaddr 00:0a:e6:30:0d:0e inet addr:211.239.218.153 bcast:211.239.218.255 mask:255.255.255.0 up broadcast running multicast mtu:1500 metric:1 rx packets:3780479 errors:0 dr-opped:0 overruns:0 frame:0 tx packets:3833860 errors:0 dr-opped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 rx bytes:1118112324 (1066.3 mb) tx bytes:1111887387 (1060.3 mb) interrupt:11 eth1 link encap:ethernet hwaddr 00:0f:3d:82:ec:1d inet addr:192.168.4.202 bcast:192.168.4.255 mask:255.255.255.0 up broadcast running multicast mtu:1500 metric:1 rx packets:749312 errors:0 dr-opped:0 overruns:0 frame:0 tx packets:976174 errors:0 dr-opped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 rx bytes:43695059 (41.6 mb) tx bytes:1472142037 (1403.9 mb) interrupt:5 base address:0xe000 9.重新启动机器,可以自动加载和使用了.大功告成. 五. 按照安装说明的方法自动编译安装. 在 "三.3" 中我们用make 编译,然后进行手动的拷贝. 实际上在linux.txt中的安装说明提到用make install . 那我们来看看这种方法系统都做了什么吧. [root@firewall1 dlkfet-4.24]# make install gcc-wall -dlinux -d__kernel__ -dmodule -dexport_symtab -d__no_version__-o2 -pipe -i/lib/modules/2.4.18-3/build/include -i. -wstrict-prototypes-fomit-frame-pointer -dmodversions -include/lib/modules/2.4.18-3/build/include/linux/modversions.h -dvmns -c -orhine_main.o rhine_main.c gcc -wall -dlinux -d__kernel__ -dmodule-dexport_symtab -d__no_version__ -o2 -pipe-i/lib/modules/2.4.18-3/build/include -i. -wstrict-prototypes-fomit-frame-pointer -dmodversions -include/lib/modules/2.4.18-3/build/include/linux/modversions.h -dvmns -c -orhine_proc.o rhine_proc.c gcc -wall -dlinux -d__kernel__ -dmodule-dexport_symtab -d__no_version__ -o2 -pipe-i/lib/modules/2.4.18-3/build/include -i. -wstrict-prototypes-fomit-frame-pointer -dmodversions -include/lib/modules/2.4.18-3/build/include/linux/modversions.h -dvmns -c -orhine_wol.o rhine_wol.c gcc -wall -dlinux -d__kernel__ -dmodule-dexport_symtab -d__no_version__ -o2 -pipe-i/lib/modules/2.4.18-3/build/include -i. -wstrict-prototypes-fomit-frame-pointer -dmodversions -include/lib/modules/2.4.18-3/build/include/linux/modversions.h -dvmns -c -orhine_vmns.o rhine_vmns.c ************************************************** build options: version 2.4.18-3 smp disabled vmns enabled *************************************************** mkdir -p /lib/modules/2.4.18-3/kernel/drivers/net install -m 644 -o root rhinefet.o /lib/modules/2.4.18-3/kernel/drivers/net ***** move official driver via-rhine.o to via-rhine.o.backup mv /lib/modules/2.4.18-3/kernel/drivers/net/via-rhine.o /lib/modules/2.4.18-3/kernel/drivers/net/via-rhine.o.backup
/sbin/depmod -a || true 按照上面的结果显示是这样的一个过程: (1)系统把.c等文件编译成相应的.o文件. (2)然后显示系统是否支持smp和vmns,然后把相应的.o模块文件拷贝到系统应该的地方. (3)并且把相同芯片的程序过时的via-rhine.o改为备份文件.让系统用新的rhinefet.o (4)最后执行/sbin/depmod -a 更新模块库配置. 看来这个也是个智能的安装方法. 六. 用其他方法驱动. 由于市面上很多的各种各样的板卡,有名牌有杂牌,多不胜数.当我们拿到一块卡,但一下子没找到它本身提供的源程序,不能编译,怎么办呢? 所以当你有一块网卡不能用,在找linux的driver之前一定搞清楚这个网卡用的什么芯片,跟谁兼容,比如3c509,ne2000,etherexpre |