免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3785 | 回复: 1
打印 上一主题 下一主题

多网卡如何制定驱动 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-24 15:07 |只看该作者 |倒序浏览
10可用积分
我现在有两块网卡,想让其中一块使用我改写的驱动,我改了下/etc/modprobe.conf

alias eth0 e1000
alias eth1 e1000m

好像没什么作用,请问该如何操作?

论坛徽章:
0
2 [报告]
发表于 2008-11-24 15:16 |只看该作者
希望有用。

应该如何修改/etc/modules.conf(RHEL3/2.1)或/etc/modprobe.conf(RHEL4)?
解决方法:

只有在系统启动要加载新的设备驱动时才需要修改该文件,下面的内容提供了一个详细的示例如何修改该文件,使得系统在启动时自动加载网卡驱动和SCSI卡驱动。

修改/etc/modules.conf(RHEL3)或/etc/modprobe.conf(RHEL4)来加载网卡驱动模块:


下面是一个在使用Intel/Pro 1000网卡旧驱动e1000的例子

alias eth0 e1000
alias scsi_hostadapter aic7xxx
alias sound-slot-0 emu10k1
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
alias usb-controller usb-uhci

而新驱动的名字是e1000_5043k1,首先测试该驱动是否可以正常工作,在命令行模式下使用下面命令来测试:

rmmod 1000                  //从内核中删除老模块
modprobe e1000_5043k1        //加入新模块到内核
lsmod |grep e1000        //确认新模块已经插入
ifconfig eth0 10.0.0.11        //然后给网卡配置IP
ping 10.0.0.254                //确认网卡工作正常

然后修改/etc/modules.conf(RHEL3)或/etc/modprobe.conf(RHEL4)如下:

alias eth0 e1000_5043k1
alias scsi_hostadapter aic7xxx
alias sound-slot-0 emu10k1
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :
alias usb-controller usb-uhci

然后保存文件,这时候不需要重新编译initrd,下次系统启动怎会自动生效。

修改/etc/modules.conf(RHEL3)或/etc/modprobe.conf(RHEL4)来加载SCSI驱动模块:

下面是一个在使用LSI Logic Megaraid卡旧驱动megaraid的例子

alias parport_lowlevel parport_pc
alias eth0 e1000
alias scsi_hostadapter aic79xx
alias scsi_hostadapter1 megaraid
alias eth1 eepro100
alias usb-controller usb-ohci
alias scsi_hostadapter2 qla2300

而新驱动名字为megaraid_2002,修改/etc/modules.conf(RHEL3)或/etc/modprobe.conf(RHEL4)如下:

alias parport_lowlevel parport_pc
alias eth0 e1000
alias scsi_hostadapter aic79xx
alias scsi_hostadapter1 megaraid_2002
alias eth1 eepro100
alias usb-controller usb-ohci
alias scsi_hostadapter2 qla2300

修改文件以后,需要重新编译initrd文件,使得在启动时该模块被正确插入到模块中。

# cp /boot/initrd-(kernel-version).img /boot/initrd-(kernel-version).img.bak
# mkinitrd -f initrd-$(uname -r).img $(uname -r)

例如


cp /boot/initrd-2.4.21-27.0.2.ELsmp.img /boot/initrd-2.4.21-27.0.2.ELsmp.img.bak
mkinitrd -v -f /boot/initrd-2.4.21-27.0.2.ELsmp.img 2.4.21-27.0.2.ELsmp

这个例子对一个运行2.4.21-27.0.2smp内核的系统重建了initrd.img,根据自己系统的实际运行版本自行条成mkinitrd的参数(可以使用uname -r得到本机运行的内核版本号)。

   * mkinitrd的-v参数可以显示initrd.img中包括的所有模块。
   * mkinitrd的-f参数可以强制覆盖initrd.img中已有的同名模块。

操作完毕以后,需要重新启动内核使得该模块插入到系统中,然后使用下面命令来确认:

# lsmod
megaraid_2002          40128   7
scsi_mod              123884   4  [qla2300 megaraid_2002 aic79xx sd_mod]


http://www.redhat.com.cn/kbase/2521.php
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP