size used by not tainted rhinefet 38752 1 8139too 16448 1 mii 2408 0 [8139too] 這樣,看到rhinefet模塊已經(jīng)加載了,基本上,這樣就證明已經(jīng)編譯成功. 6. 讓它開(kāi)機(jī)時(shí)加載 [root@kindgeorge dlkfet-4.24]# vi /etc/modules.conf 在后面加上一行: alias eth1 rhinefet 7. 配置一下網(wǎng)絡(luò) [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.啟動(dòng)網(wǎng)卡,然后用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.重新啟動(dòng)機(jī)器,可以自動(dòng)加載和使用了.大功告成. 五. 按照安裝說(shuō)明的方法自動(dòng)編譯安裝. 在 "三.3" 中我們用make 編譯,然后進(jìn)行手動(dòng)的拷貝. 實(shí)際上在linux.txt中的安裝說(shuō)明提到用make install . 那我們來(lái)看看這種方法系統(tǒng)都做了什么吧. [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 按照上面的結(jié)果顯示是這樣的一個(gè)過(guò)程: (1)系統(tǒng)把.c等文件編譯成相應(yīng)的.o文件. (2)然后顯示系統(tǒng)是否支持smp和vmns,然后把相應(yīng)的.o模塊文件拷貝到系統(tǒng)應(yīng)該的地方. (3)并且把相同芯片的程序過(guò)時(shí)的via-rhine.o改為備份文件.讓系統(tǒng)用新的rhinefet.o (4)最后執(zhí)行/sbin/depmod -a 更新模塊庫(kù)配置. 看來(lái)這個(gè)也是個(gè)智能的安裝方法. 六. 用其他方法驅(qū)動(dòng). 由于市面上很多的各種各樣的板卡,有名牌有雜牌,多不勝數(shù).當(dāng)我們拿到一塊卡,但一下子沒(méi)找到它本身提供的源程序,不能編譯,怎么辦呢? 所以當(dāng)你有一塊網(wǎng)卡不能用,在找linux的driver之前一定搞清楚這個(gè)網(wǎng)卡用的什么芯片,跟誰(shuí)兼容,比如3c509,ne2000,etherexpre |