我正在使用 18.04 升级我的 PXE 引导基础架构,但我的戴尔 XPSen 遇到了一个一致的问题 - 当从官方戴尔 FM76N(基于 Realtek r8152)USB NIC 进行 PXE 引导时,笔记本电脑可以很好地拾取 iPXE,但是选择 18.04.1(完全按照我指定的 16.04 进行设置,通过提取各种内核/initrd 文件并将它们放在 TFTP 文件夹中,然后设置 NFS 共享),内核开始加载,但是当尝试设置网络接口并挂载 NFS 文件夹,它没有可用的 NIC:
Begin script casper/premount...
ipconfig: no devices to configure [repeated half a dozen times]
NFS over TCP not available from <server IP>
connect: Network is unreachable
最后两条消息重复,直到我被放到 Busybox shell 中,这从两者都证明ip link show
并且ifconfig -a
没有检测到网络设备。dmesg
在该外壳中显示 NIC 被检测为 USB 设备,但没有任何迹象表明它被识别为网络适配器。
我已尝试此处列出的步骤:https ://ubuntuforums.org/showthread.php?t= 1843448 将驱动程序和固件添加到 initrd;/lib/modules/4.15.0-29-generic/kernel/drivers
我在运行 18.04 的机器上安装了相同的内核,然后将整个内容复制/lib/firmware
到提取的 initrd 中,运行depmod
并重新压缩它(创建一个近 200MB 的文件,而不是标准的 37MB initrd!)但没有成功。当插入工作的笔记本电脑时,USB NIC 会按预期显示;dmesg
将其识别为网络接口并对其进行配置,然后网络管理器启动并将其作为可用的 NIC 提供。
似乎没有加载 Realtek 驱动程序。dmesg
工作机器的输出:
[10913.072763] usb 4-1.3: new SuperSpeed USB device number 7 using xhci_hcd
[10913.098583] usb 4-1.3: New USB device found, idVendor=0bda, idProduct=8153
[10913.098586] usb 4-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[10913.098587] usb 4-1.3: Product: USB 10/100/1000 LAN
[10913.098588] usb 4-1.3: Manufacturer: Realtek
[10913.098589] usb 4-1.3: SerialNumber: 000001000000
[10913.186241] usb 4-1.3: reset SuperSpeed USB device number 7 using xhci_hcd
[10913.272127] r8152 4-1.3:1.0 eth0: v1.09.9
[10913.744109] r8152 4-1.3:1.0 enx9cebe85f3e37: renamed from eth0
[10914.316459] IPv6: ADDRCONF(NETDEV_UP): enx9cebe85f3e37: link is not ready
[10914.335667] IPv6: ADDRCONF(NETDEV_UP): enx9cebe85f3e37: link is not ready
[10928.660784] usb 4-1.3: USB disconnect, device number 7
[10928.661397] r8152 4-1.3:1.0 enx9cebe85f3e37: Stop submitting intr, status -108
而在 PXE 引导期间,消息在SerialNumber
. 我也试过modprobe r8152
了,它没有响应但退出1
,并且modinfo r8152
奇怪地告诉我modinfo: can't open '/4.15.0-29-generic/': No such file or directory
。
看起来我已经弄清楚了 - 必要的
r8152
模块不包含在默认linux-modules-4.15.0-29-generic
包中,而是包含在linux-modules-extra-4.15.0-29-generic
包中。一旦我安装了它,我必须再次执行链接论坛线程中的步骤 - 将所有文件复制到
kernel/drivers
文件夹中,运行depmod
然后压缩 initrd。一旦我将它复制到我的 PXE 服务器,它就可以工作了 - 链接出现并且 NFS 挂载通过了。但是,现在它启动到紧急模式,但我已经看到了这方面的错误报告,所以 PXE/NFS 位至少可以工作。现在我应该尝试缩小这个 200MB 的 initrd 图像......