|
采用方式1,则不可能支持所有的网卡,哪样内核会变成个庞然大物。因此很多 发行版为了灵活支持多种网卡,采用 modules 的方式。然而对于每一台特定的电脑, 通常只需要支持有限的一种或几种网卡,因此可以采用方式1,不过需重新编译内核。 编译内核的方法详见 KernelHOWTO,编译时需要注意的是以下几项: Networking support (CONFIG_NET) [Y/n/?] Y TCP/IP networking (CONFIG_INET) [Y/n/?] Y Network device support (CONFIG_NETDEVICES) [Y/n/?] Y Ethernet (10 or 100Mbit) (CONFIG_NET_ETHERNET) [Y/n/?] Y PCI Ethernet adapters (CONFIG_NET_PCI) [N/y/?] Y /* 如果是PCI网卡的话*/ 方式2为大多数发行版所采用,而且可以在安装时设置网卡,选用相应的网卡即 可。值得指出的是,安装时很多网卡没有列出,但并不代表 Linux 本身不支持,详 见 EthernetHOWTO。这时您可以查阅网卡及手册,会发现其使用何种芯片,可以用安 装时网卡列表中同种芯片的网卡试试。通常,网卡手册中会说明该网卡兼容或类似某 种通用网卡。很多10M网卡兼容 NE2000,比如我的 D-LINK DE220,这时可以选 NE2000 试试。 然而,很多 PNP 的网卡并不能被检测到,例子还是我的 DE220。据说在 Linux 环境下可以通过 isapnp 设置,我没试过,详情请 man isapnp 吧。为免麻烦,我使 用了另一种方法:在 DOS 下使用 DE220 的驱动程序(可以在其网站下载到),屏蔽掉 PNP 功能,并设定“IO=0240h-025fh”,“IRQ=11”。然后再进行安装。 糟糕的是,有部分网卡并非完全兼容 NE2000,例子又是我的 DE220,这类网卡 在 EthernetHOWTO 中被称为 bad NE2000 clone,他们采用了非标准的标识方法以 致 Linux 的 NE2000 驱动不能自动检测到它。我的 RedHat 6.1 就是这样,导致安 装后找不到网卡,必需手动进行配置了。 解决这个问题需要向内核传递 IRQ 号及 IO 端口,这两项的具体数据可以从 WIN9X 的设备管理中查到,最笨却最稳妥的是如前哪样用网卡 DOS 下的驱动程序设 定好,记下来。Linux 下输入的数据格式类似 C 语言,IO采用十六进制,即 0xNNN, 其中 NNN 是 IO 中 0XXXh-0XXXh 的前一个数的“XXX”部分。IRQ 可直接用十进制。 针对我的 DE220,就是“0x240”和“11”了。配置方法如下:
如果采用方式1,必须直接将 IRQ 号及 IO 端口传递给内核——在系统启动出现 Boot: 的时候,输入“linux ether=IRQ,IO,eth0”。具体针对我的 DE220 就是这样:
Boot: linux ether=11,0x240,eth0
通常传递了 IO 地址系统就可以检测到网卡了,因此也可以输入:
Boot: linux ether=0,0x240,eth0
IRQ 或 IO 处可以输零(如上),是告诉内核自动检测该项。如果这样可以了,可以 通过 LILO 每次启动时自动把以上参数传递给内核,具体方法是:
编辑 /etc/lilo.conf,加入: append="ether=0,0x240,eth0" 然后: # lilo /* 重新加载 lilo */
a上一页 [1] [2] [3] [4] 下一页 |
|
|
|
|
|
|
|