安装 BSD 后,新 Linux 安装中没有定义接口

安装 BSD 后,新 Linux 安装中没有定义接口

几个月前,我尝试在笔记本电脑上安装 PCBSD(编辑:Thinkpad T420)。安装之前,我的分区包括 /swap、/ 和 /home,用于安装 Arch Linux,还有一个专门为 BSD 实验保留的额外空分区。在我尝试安装 BSD 之前,一切都运行良好。安装完成,但启动系统失败。引导加载程序只列出了无法运行的 BSD,所以我像冠军一样放弃了,将 Ubuntu 安装在了备用分区中。我注意到没有可用的网络接口,但由于无线网卡需要特定的驱动程序,而我又没有连接到以太网,所以我没怎么在意。回想起来,这应该引起一些警惕;我选择 Ubuntu 是因为它对许多专有驱动程序的开箱即用支持。尽管如此,我重新启动了 Arch 系统,几个月来一切都运行正常。

几天前,我决定更新 Arch Linux,而没有先查看网站。长话短说,glibc 上的 --force 更新使我的系统无法使用。啊,好吧,又学到了一个教训。该重新安装了……

我发现问题就在这里。我启动了一张旧的 Arch Linux CD,并尝试配置无线以供安装期间使用。我已在此机器上多次安装此设备,因此尽管我没有写下确切的步骤,但使用初学者指南和我以前的经验应该足以帮助我完成此操作。第一步,使用 iwconfig 列出可用接口。列出的唯一接口是环回 (?!?)。现在标志已上升,因为我知道以太网 (eth0) 和无线 (wlan0) 至少在之前列出,即使之前无法运行。起初,我将其归咎于我最近的失误,即 glibc 更新。担心硬件本身可能已损坏,我安装了 Windows 和(经过一些头痛之后)驱动程序。一切都按预期运行;硬件处于原始状态。

经过一番谷歌搜索,我发现 BSD 根据设备来命名其接口。我终于坐下来,拿出 PCBSD 安装盘,开始安装并运行。以太网(名为 em0)工作正常。无线需要一个内核模块,我怀疑 BSD 可能还没有提供该模块,而且英特尔显卡似乎不受支持(PCBSD 不支持,也许是 FreeBSD 不支持?没关系,只是解释了为什么我不能将此安装用于主操作系统)。

重新启动 Arch Linux live cd 并检查 /dev 的内容。那里没有名为 emx 的东西,我找不到任何表明接口隐藏存在的东西。我不相信 BSD 的设备命名方案会以这种方式影响硬件,但我想不出任何其他会导致此问题的原因。我真的被难住了。

我认为自己是一个称职的 Linux 用户,不是专家,但也不是菜鸟。至于 BSD,我比新手还差,因为我带着我对 Linux 的先入之见(因此需要进行实验;阅读文档固然很好,但如果不亲自动手,就什么也学不会)。这是我有史以来第一次在任何网站上发布问题。在此之前,我从未遇到过未记录的问题,无论是在交易所、其他论坛还是某个 wiki 上。我希望这不是一个愚蠢的简单修复,因为我讨厌浪费别人的时间,但我确实希望有一个修复。我更喜欢 *nix 系统;Windows 对我来说并不合适,而且我从来没有在 vm 中感到自在。

我发誓我已经用谷歌搜索过了,我会用链接来证明这一点,但我没有找到任何与我的问题相关的内容。例如,为什么安装 Ubuntu 后我的网络接口被重命名了,如何将它们重命名?处理重命名但仍可用的接口。我的接口已经完全消失了。

标准问答让我知道我还能提供什么:

使用 Linux Mint Live CD 执行(在我的问题出现之前,这已经列出了 eth0 和 wlan0,各个发行版的输出是相同的):

$ iwconfig

lo        no wireless extensions.

$ ifconfig -a #(编辑:添加了 -a 开关;有/无结果相同)

lo link encap:Local Loopback  
         inet addr:127.0.0.1  Mask:255.0.0.0
         inet6 addr: ::1/128 Scope:Host
         UP LOOPBACK RUNNING  MTU:16436  Metric:1
         RX packets:8 errors:0 dropped:0 overruns:0 frame:0
         TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0 
         RX bytes:480 (480.0 B)  TX bytes:480 (480.0 B)

$ lspci | grep -i net #(所以设备确实存在于某处,对吗?)

00:19.0 Ethernet controller: Intel Corporation Device 1502 (rev 04)
03:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8176 (rev 01)

使用 PCBSD 9.0 安装执行

$ifconfig

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
    ether 00:21:cc:6a:ff:b4
    inet6 fe80::221:ccff:fe6a:ffb4%em0 prefixlen 64 scopeid 0x1 
    nd6 options=23<PERFORMNUD,ACCEPT_RTADV,AUTO_LINKLOCAL>
    media: Ethernet autoselect
    status: no carrier
fwe0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=8<VLAN_MTU>
    ether 02:21:cc:0f:5e:bd
    inet6 fe80::21:ccff:fe0f:5ebd%fwe0 prefixlen 64 scopeid 0x3 
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
    ch 1 dma 0
fwip0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
    lladdr 0.21.cc.20.6.f.5e.bd.a.2.ff.fe.0.0.0.0
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128 
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6 
    inet 127.0.0.1 netmask 0xff000000 
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>

$pciconf

hostb0@pci0:0:0:0:  class=0x060000 card=0x21ce17aa chip=0x01048086 rev=0x09 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '2nd Generation Core Processor Family DRAM Controller'
    class      = bridge
    subclass   = HOST-PCI
vgapci0@pci0:0:2:0: class=0x030000 card=0x21ce17aa chip=0x01268086 rev=0x09 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '2nd Generation Core Processor Family Integrated Graphics Controller'
    class      = display
    subclass   = VGA
none0@pci0:0:22:0:  class=0x078000 card=0x21ce17aa chip=0x1c3a8086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family MEI Controller'
    class      = simple comms
em0@pci0:0:25:0:    class=0x020000 card=0x21ce17aa chip=0x15028086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82579LM Gigabit Network Connection'
    class      = network
    subclass   = ethernet
ehci0@pci0:0:26:0:  class=0x0c0320 card=0x21ce17aa chip=0x1c2d8086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
hdac0@pci0:0:27:0:  class=0x040300 card=0x21ce17aa chip=0x1c208086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family High Definition Audio Controller'
    class      = multimedia
    subclass   = HDA
pcib1@pci0:0:28:0:  class=0x060400 card=0x21ce17aa chip=0x1c108086 rev=0xb4 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family PCI Express Root Port 1'
    class      = bridge
    subclass   = PCI-PCI
pcib2@pci0:0:28:1:  class=0x060400 card=0x21ce17aa chip=0x1c128086 rev=0xb4 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family PCI Express Root Port 2'
    class      = bridge
    subclass   = PCI-PCI
pcib3@pci0:0:28:3:  class=0x060400 card=0x21ce17aa chip=0x1c168086 rev=0xb4 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family PCI Express Root Port 4'
    class      = bridge
    subclass   = PCI-PCI
pcib4@pci0:0:28:4:  class=0x060400 card=0x21ce17aa chip=0x1c188086 rev=0xb4 hdr=0x01
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family PCI Express Root Port 5'
    class      = bridge
    subclass   = PCI-PCI
ehci1@pci0:0:29:0:  class=0x0c0320 card=0x21ce17aa chip=0x1c268086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family USB Enhanced Host Controller'
    class      = serial bus
    subclass   = USB
isab0@pci0:0:31:0:  class=0x060100 card=0x21ce17aa chip=0x1c4f8086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = 'QM67 Express Chipset Family LPC Controller'
    class      = bridge
    subclass   = PCI-ISA
ahci0@pci0:0:31:2:  class=0x010601 card=0x21ce17aa chip=0x1c038086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller'
    class      = mass storage
    subclass   = SATA
none1@pci0:0:31:3:  class=0x0c0500 card=0x21ce17aa chip=0x1c228086 rev=0x04 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '6 Series/C200 Series Chipset Family SMBus Controller'
    class      = serial bus
    subclass   = SMBus
none2@pci0:3:0:0:   class=0x028000 card=0x819510ec chip=0x817610ec rev=0x01 hdr=0x00
    vendor     = 'Realtek Semiconductor Co., Ltd.'
    device     = 'RTL8188CE 802.11b/g/n WiFi Adapter'
    class      = network
none3@pci0:13:0:0:  class=0x088001 card=0x21ce17aa chip=0xe8231180 rev=0x05 hdr=0x00
    vendor     = 'Ricoh Co Ltd'
    class      = base peripheral
fwohci0@pci0:13:0:3:    class=0x0c0010 card=0x21ce17aa chip=0xe8321180 rev=0x04 hdr=0x00
    vendor     = 'Ricoh Co Ltd'
    device     = 'FireWire Host Controller'
    class      = serial bus
    subclass   = FireWire

感谢您的时间!

答案1

这真是太尴尬了。解决办法是使用更新的内核。

BSD 只是个幌子。我以为,由于我使用的是之前可以正常工作的实时/安装磁盘(我最初就是从这些磁盘安装的),所以错误不可能与这些介质有关;BSD 是我唯一不寻常的举动。

我下载了最新的 Arch Linux 并启动。一切都如预期的那样。我仍然不知道这是怎么发生的。9 个月前我买了这台笔记本电脑时,内核 2.6.3x 运行良好。我定期运行更新,当我的系统崩溃时,我已经升级到 3.2 了。这意味着新内核以某种方式修改了某些东西,阻止旧内核识别硬件。这令人失望,因为如果我想安装旧版本的 Linux(幸好我没有),我不能。这确实意味着如果我需要互联网访问,我的活动磁盘集合将不再可用作恢复磁盘。

如果我应该以任何方式修改问题,请告诉我。我不确定接下来该做什么。

谢谢您的帮助 :)

相关内容