您现在的位置: 论文网 >> 计算机论文 >> 计算机应用论文 >> Linux操作系统下以太网卡的安装及配置论文

Linux操作系统下以太网卡的安装及配置

作者:未知
出处:论文网
时间:2007-04-13


   (1)修改配置文件:主要修改核心源代码目录下的四个文件,即drivers/net/CONFIG文件、drivers/net/Config.in文件、drivers/net/Makefile 文件和drivers/net/Space.c文件。CONFIG和Config.in文件用于控制核心配置工具(make config 或make menuconfig)的运行,主要是加入关于是否包括该网卡的支持提示。Makefile 和Space.c文件用于编译核心代码并说明面向核心的接口。详细语句参见下面例子。
   (2)运行核心配置工具:在核心源代码目录下执行make config或 make menuconfig命令。 make config是面向命令行的,通过逐句回答提问来配置核心。由于其在配置过程中不可改变或撤消以前的回答,故多有不便。make menuconfig 则是通过窗口菜单方式,使用起来很方便。就本文而言,你只要在上一步中正确修改了配置文件,那么在config中会出现是否需要该网卡支持的提问,你选择‘y’。或者在menuconfig中的 network菜单中出现表示该网卡的菜单项,把它选上即可。
   (3)重建依赖关系:很简单,执行make dep和make clean命令。
   (4)生成核心代码:执行make zImage 命令。这个命令开始真正编译核心代码,并把核心代码存放为arch/i386/boot 目录下的zImage。
   (5)为了使用新的核心代码,你需要用新的核心代码替换原有的。原有的核心代码一般存放在/boot 目录下,文件名称类似于vmlinuz-v.s.r-m (v.s.r-m)表示核心的版本号)。如vmlinuz-2.0.34-1。执行下列命令:
   cp arch/i386/boot/zImage /boot/vmlinuz-v.s.r-m
   为了安全起见,可以先把原有的核心代码做个备份,以便发生错误时恢复。
   至此,你可以重新引导系统以使用新的带有正确网卡驱动支持的Linux核心。唯一剩下未解决的是驱动程序的参数问题。有些网卡驱动程序如果不输入参数,那它工作就会不正常,甚至根本不工作。由于现在网卡的驱动程序是系统启动时由核心载入运行的,系统启动之后用户就很难改变这些参数了,所以你必须在系统启动时告诉Linux核心网卡驱动程序使用的参数。具体方法有两种:
   (1)在系统引导程序LILO中输入。
   在LILO开始引导系统时,用ether子命令设定以太网卡驱动程序的参数。ether命令的使用方式为:
   LILO:linu xether=IRO.BASE_ADDR,NAME
   这里带下划线的是要输入的部分,IRQ表示中断号,BASE_ADDR表示端口号,NAME表示网卡的设备名。例如:linux ether=15,0x320,eth0
   (2)在LILO配置文件中设定。
   每次在系统启动时再输入驱动程序参数似乎有点过于麻烦。幸好系统提供了LILO的配置文件可以用来永久性的设置Linux系统启动时的子命令。方法是在/etc/lilo.conf文件中的适当位置加入以下一行:
   append=“ether=IRQ, BASE_ADDR,NAME”
   这里带下划线部分的意义同上。加入这一行后,还需要用/sbin/lilo命令把这个配置写入引导程序。
   第四步:网络配置及测试
   安装完网卡就可以配置网络通信了。配置网络简单地就是使用ifconfig命令,
例如:
   ifconfig eth0 1.2.3.4 netmask 255.0.0.0 up
   最后ping一下网上其它机器的ip地址,检查网络是否连通。

五、一个以太网卡安装实例
   下面以Cirrus公司生产的Crystal CS8920以太网卡为例,详细说明上述安装配置过程。本例中,有些命令参数,如核心源代码目录等,是以我使用的系统环境为出发点。具体应用中还要加以本地化。为了更接近实际,例子中也包括了对安装中碰到的问题的描述。
   1.此网卡是IBM PC机的内置式网卡,机器只提供了Windows95/98环境下的驱动程序。由于RedHat 5.0发行版本尚未提供对此网卡的直接支持,所以从Cirrus的站点上找到并下载了该网卡驱动程序的Linux版本,是一个名为Linux102_tar.gz的压缩文件。
   2.文件Linux102_tar.gz解压后包括五个文件。包括源代码,仅适用于Linux 2.0版本的目标模块以及readme文件。
   3.查阅readme文件后,了解到这个驱动程序只能使用网卡EEPROM中设定的端口号(I/O基地址)、中断号。为了知道网卡EEPROM的设置,又从Cirrus站点下载了该网卡DOS版本的设置程序setup.exe
   4.在DOS中运行setup.exe,发现网卡的起始端口号为0x360,中断号为10,与别的设备有冲突。选择setup.exe程序的相应菜单,把中断号改成5。另外,此驱动程序不支持plug and Play,故也在setup.exe中将网卡的PnP功能屏蔽掉。
   5.我所使用的RedHat 5.0的Linux核心版本为2.0.34,所以不能用现成的驱动程序目标模块,需要自己动手编译。如上文所述,有两种方式使用此驱动程序。
   6.如果要编译成独立模块,执行下列命令:
   gcc -D_KERNEL_-I/usr/src/linux/include -I/usr/src/linux/net/inet-Wall -Wstrictprototypes -02 -fomit-frame-pointer -DMODULE -DCONFIG_MODVERSIONS -ccs89x0.c
   编译结果是名为cs89x0.o的驱动程序目标模块。要装载此驱动程序,输入下列命令: insmod cs89x0.o io=0x360 irq=10
   要卸载此驱动程序,用rmmod命令:
   rmmod cs89x0.o
   7.如果要将驱动程序编进系统核心,
   修改/usr/src/linux/drivers/net/CONFIG,加入:
   CS89x0_OPTS=
   修改/usr/src/linux/drivers/net/Config.in,加入:
   tristate‘CS8920 Support’CONFIG_CS8920
   以上两行是为了让make config在配置过程中询问是否增加CS8920网卡的支持。修改/usr/src/linux/drivers/net/Makefile加入:
 ifeq((CONFIG_CS8920),y)
   L_OBJS+=cs89x0.o
   endif
   修改/usr/src/linux/drivers/net/Space.c,加入:
   extern int cs89x0_probe(struct device *dev);
   ……
   #ifdef CONFIG_CS8920
     && cs89x0_probe(dev);
   #endif
   以上两段是为了编译并输出网卡驱动程序及其例程。
   把驱动程序源代码拷到/usr/src/linux/drivers/net目录下。
   在/usr/src/linux目录下执行 make config或 make menuconfig,选择核心CS8920网卡支持。
   执行make dep、make clean命令。最后用 make zImage 编译Linux核心。
   如何设置核心驱动程序参数,上节已有说明,不再赘述。

六、结束语
   与其它外设一样,以太网卡种类繁多,对于新兴的操作系统Linux来说,是否能够有效地支持这些设备,直接关系着Linux的发展前途。本文叙述的以太网卡安装配置只是其中的一小部分,未尽事宜希望与有识之仕共同探讨。

上一页 [1] [2]

论文搜索
关键字:Linux操作系统 太网卡 安装 配置
最新计算机应用论文
基于网络信息安全技术管理的计算机应用研究
浅析人工智能体系建设
抖音短视频平台视频推荐模式研究
应用电子技术中可编程控制器的应用探讨
用友NC信息系统的实施应用实践研究
基于校园一卡通数据系统的学生行为分析研究
云环境下基于蚁群算法的动态容错技术研究
自拍图像中的记忆痕迹
抖音短视频用户使用动机研究
基于创新扩散理论的Vlog传播
热门计算机应用论文
学生成绩管理系统的设计与实现
浅析计算机病毒及防范的措施
学籍管理系统软件
对计算科学与计算机发展的思考
计算机应用型人才的培养模式研究
物资管理信息系统开发
计算机信息管理在第三方物流中的应用
嵌入式系统数字图像采集接口电路设计
基于B/S体系结构开发应用系统
项目管理在软件中的应用