分类: LINUX
2008-05-23 16:29:07
来源: |
|
为了安全起见,可以先把原有的代码做个备份,以便发生错误时恢复。 至此,你可以重新引导系统以使用新的带有正确网卡驱动支持的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命令, 例如: 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核心。 如何设置核心驱动程序参数,上节已有说明,不再赘述。
|