Gentoo 启动时找不到网卡 eth0

作者:Hily 原始链接:http://hily.me/blog/2008/11/gentoo-eth0-does-not-exist/
版权声明:可以转载,转载时务必以超链接形式标明文章原始出处作者信息版权声明

今天在 Parallels Workstation 上安装了个 Gentoo,使用 livecd 安装盘(install-x86-minimal-2008.0.iso)进行安装。

按照手册指示,在安装过程中 eth0 可以被正常识别,我把它设置为默认运行级别(rc-update add net.eth0 default)。安装后在系统启动到 init 3 阶段时,提示找不到网络接口 eth0:“network interface eth0 does not exist”。

可以肯定,这是网卡驱动的问题,因为在 livecd 安装过程中 eth0 是可以被正确地识别的。所以解决方法就是重新配置编译内核,把合适的网卡驱动编译进内核或编译成模块(我直接把它编译内核)。

内核中有那么多的网卡驱动,到底要用哪一个呢?

因为 livecd 引导过程中各模块的驱动是以模块方式加载的,因此只需要在 livecd 引导后使用 lsmod 命令就可以找到相关的驱动模块。

检测到的设备如下:

livecd ~ # lspci
00:02.0 VGA compatible controller: Unknown device aaaa:1121
00:03.0 Bridge: Unknown device aaaa:1112
00:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8029(AS)
00:1e.0 Host bridge: Intel Corporation 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 02)
00:1f.0 ISA bridge: Intel Corporation 82801BA ISA Bridge (LPC) (rev 08)
00:1f.1 IDE interface: Intel Corporation 82801BA IDE U100 Controller

加载的模块列表:

livecd ~ # lsmod
Module                  Size  Used by
dock                   18448  0
backlight              13188  0
output                 11776  0
ne2k_pci               18400  0
8390                   17024  1 ne2k_pci
rtc                    20768  0
tg3                   111748  0
e1000                 119616  0
jfs                   169836  0
raid10                 30080  0
raid456               129296  0
async_memcpy           10880  1 raid456
async_xor              12160  1 raid456
xor                    21896  2 raid456,async_xor
async_tx               15948  3 raid456,async_memcpy,async_xor
raid1                  30080  0
raid0                  15872  0
dm_bbr                 20128  0
dm_snapshot            24996  0
dm_mirror              29440  0
dm_mod                 63428  3 dm_bbr,dm_snapshot,dm_mirror
sbp2                   29960  0
ohci1394               38192  0
ieee1394               92600  2 sbp2,ohci1394
sl811_hcd              19968  0
usbhid                 35712  0
ohci_hcd               29700  0
uhci_hcd               30988  0
usb_storage           120608  0
ehci_hcd               39948  0
usbcore               133484  7 sl811_hcd,usbhid,ohci_hcd,uhci_hcd,usb_storage,ehci_hcd
lpfc                  216016  0
qla2xxx               168548  0
firmware_class         17408  1 qla2xxx
megaraid_sas           35504  0
megaraid_mbox          38160  0
megaraid_mm            18464  1 megaraid_mbox
megaraid               44360  0
aacraid                68996  0
sx8                    25484  0
DAC960                 73032  0
cciss                  41220  0
cpqarray               28004  0
3w_9xxx                39300  0
3w_xxxx                32928  0
mptsas                 43144  0
scsi_transport_sas     37120  1 mptsas
mptfc                  25988  0
scsi_transport_fc      49028  3 lpfc,qla2xxx,mptfc
scsi_tgt               22344  1 scsi_transport_fc
mptspi                 28296  0
mptscsih               41344  3 mptsas,mptfc,mptspi
mptbase                78308  4 mptsas,mptfc,mptspi,mptscsih
atp870u                36352  0
dc395x                 39052  0
sim710                 13188  0
53c700                 33444  1 sim710
qla1280               123660  0
dmx3191d               20096  0
sym53c8xx              77588  0
qlogicfas408           15104  0
aha152x                42512  0
aha1740                15872  0
advansys               85248  0
initio                 24900  0
BusLogic               72948  0
arcmsr                 29952  0
aic7xxx               168760  0
aic79xx               241624  0
scsi_transport_spi     30848  7 mptspi,53c700,dmx3191d,sym53c8xx,aha152x,aic7xxx,aic79xx
sg                     41360  0
pdc_adma               17668  0
sata_inic162x          20228  0
sata_mv                28936  0
ata_piix               26372  0
ahci                   34180  0
sata_qstor             17924  0
sata_vsc               16516  0
sata_uli               15620  0
sata_sis               16772  0
sata_sx4               20484  0
sata_nv                33160  0
sata_via               19588  0
sata_svw               15748  0
sata_sil24             24068  0
sata_sil               19080  0
sata_promise           20996  0
scsi_wait_scan          9472  0
pata_sis               21892  1 sata_sis
libata                152248  17 pdc_adma,sata_inic162x,sata_mv,ata_piix,ahci,sata_qstor,sata_vsc,sata_uli,sata_sis,sata_sx4,sata_nv,sata_via,sata_svw,sata_sil24,sata_sil,sata_promise,pata_sis

很明显,ne2k_pci 就是我需要的。

重新配置内核,勾选以下选项:

Device Drivers  --->
[*] Network device support  --->
[*]   Ethernet (10 or 100Mbit)  --->
<*>   PCI NE2000 and clones support (see help) 

再重新编译安装内核,问题解决。

-- EOF --

已经有 2 条评论 »

  1. QQ 123769752 说道:

    2008年11月28日 08:20

    我也中招了,你也重新编译内核,我不行的嘛,没有网络,下载不到重新编译内核的东东呀。你可以告诉我。没有网络,你如何办到,编译内核的吗?

  2. hilyjiang 说道:

    2008年11月28日 10:58

    编译内核需要先下载内核源代码,没有网络的话没法运行 emerge gentoo-sources 哦。
    Gentoo 的对内核打过补丁,所以直接下载源代码编译的话可能会有问题。
    这个年代,还是上上网吧。

发表一下您的高见

If you have any question, or for the language problem, please fell free to leave a comment or just contact me with email: hilyjiang [At] Gmail.