我正在使用 18.04 升级我的 PXE 启动基础设施,但是在使用我们的 Dell XPSen 时遇到了一个一致的问题 - 从官方 Dell 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
在该 shell 中显示 NIC 被检测为 USB 设备,但没有迹象表明它被识别为网络适配器。
我已尝试过此处列出的步骤:https://ubuntuforums.org/showthread.php?t=1843448将驱动程序和固件添加到 initrd;我在正在运行的 18.04 机器上安装了相同的内核,然后将全部内容复制/lib/modules/4.15.0-29-generic/kernel/drivers
到/lib/firmware
提取的 initrd 中,运行depmod
并重新压缩它(创建了一个接近 200MB 的文件,而标准的 initrd 只有 37MB!)但没有成功。当插入正在工作的笔记本电脑时,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
。
答案1
看来我已经解决了这个问题——必要的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 映像……