裸金属报固件错误:bnx2x 加载不了固件文件

裸金属创建时报固件错误,网卡驱动 bnx2x 加载不了固件文件,导致 bond 从设备打开失败。根因是镜像里缺少驱动需要的固件,用 modinfo 查出来补上即可。 现象 创建裸金属报固件错误,带外上看,保持类似如下: bnx2x: Can't load firmware file bnx2x/bnx2x-e2-7.13.11.0.fw bnx2x: Error loading firmware bond0: (slave eth110): Opening slave failed 排查 把镜像通过 qemu-nbd 挂载上来, 然后用 modinfo 查看这个驱动, 里面会列出需要的固件: filename: /mnt/bootcoree/lib/modules/5.4.0-59-generic/kernel/drivers/net/ethernet/broadcom/bnx2x/bnx2x.ko firmware: bnx2x/bnx2x-e2-7.13.11.0.fw firmware: bnx2x/bnx2x-e1h-7.13.11.0.fw firmware: bnx2x/bnx2x-e1-7.13.11.0.fw 根因与解决 根因是镜像里缺少 bnx2x 驱动需要的固件文件。 把 modinfo 查到的固件下载下来, 放到镜像的 /lib/firmware 对应目录中,就可以了。 小结 网卡驱动加载固件失败,会导致 bond 从设备打开失败; 用 modinfo 查看驱动模块声明的 firmware 字段,就能知道需要哪些固件文件; 把固件放到镜像的 /lib/firmware 对应目录即可解决; 排查固件类问题,modinfo 是最直接的入口。

July 4, 2026 · 1 min · 65 words · 文叨叨

裸金属网卡乱序导致 iSCSI 加载不了:IPAPPEND 2 的妙用

裸金属装机一直卡在 iscsistart,根因是 ethX 网卡乱序,iSCSI 连接建在了错误的网卡上。在 PXELINUX 配置里加 IPAPPEND 2,让引导程序自动把引导网卡的 MAC 追加给内核,即可解决。 现象 创建裸金属时,网卡乱序导致 iSCSI 镜像加载不了,装机一直卡在 iscsistart。 排查 看 PXELINUX 配置: /pxelinux.cfg# cat 01-8c-96-a5-2d-fb-70 DEFAULT linux LABEL linux menu default menu label Linux KERNEL vmlinuz APPEND initrd=initrd.img ip=10.0.0.64:10.0.0.185::255.255.255.0:bm-example:eth0:off ISCSI_TARGET_NAME=iqn.2012-04.example.com:bm-example-boot.img ISCSI_TARGET_IP=10.0.0.185 ISCSI_TARGET_PORT=3260 root=UUID=4a99650e-84e7-4c6a-83f9-1b1c964f39de rw net.ifnames=0 biosdevname=0 这里 APPEND 里有个重要参数:eth0,就是通过 eth0 建立 iSCSI 连接,切换 rootfs。 根因 问题就在这里:ethX 天生就有乱序问题。 我们期望网卡 1 是 eth0,物理链路上和 iSCSI 在一个网络上。 但是因为乱序问题,网卡 2 名称是 eth1,这样 iSCSI 就不通了,因为物理链路就不通。 这个时候 BM 装机就一直卡在 iscsistart。 解决办法 在 PXELINUX 配置中加上 IPAPPEND 2。 ...

June 28, 2026 · 1 min · 153 words · 文叨叨

创建裸金属一直刷 NBP:UEFI 与 Legacy 引导差异

创建裸金属时一直刷 NBP file downloaded successfully,但怎么都进不去系统。根因是启动方式被改成了 UEFI,而裸金属注册时一般是 Legacy,两者的 NBP 文件完全不同。 现象 创建裸金属(BM)时,一直刷 NBP file downloaded successfully,但怎么都跑不进去。 NBP 是 Network Bootstrap Program(网络引导程序)。 看起来 PXE 的程序已经获取成功了,但怎么都跑不进去。 然后只刷这个页面,只不过每次会换一个网卡,看起来还挨个网卡去找 PXE 服务端。 排查 后注意到启动方式是 UEFI,但是我们 BM 注册的时候一般是 Legacy。 且 UEFI 的 NBP 和 Legacy 的 NBP 也不一样,所以肯定是启动不起来的。 后修改裸金属的启动方式为 Legacy,部署成功。 根因:UEFI 与 Legacy 的 NBP 差异 启动模式 常见 NBP 文件名 对应软件 / 来源 Legacy BIOS pxelinux.0 SYSLINUX 引导工具 Legacy BIOS undionly.kpxe / ipxe.pxe iPXE 开源网络引导固件 UEFI 64-bit bootx64.efi / syslinux.efi UEFI 版 SYSLINUX UEFI 64-bit grubx64.efi GNU GRUB2 引导器 小结 NBP 是网络引导程序,PXE 获取成功但进不去,往往是引导模式不匹配; UEFI 和 Legacy 的 NBP 文件完全不同,不能混用; 裸金属注册时一般是 Legacy,如果启动方式被改成了 UEFI,就会一直刷 NBP 但起不来; 排查时先确认启动模式(UEFI / Legacy),再确认对应的 NBP 文件是否正确。

June 27, 2026 · 1 min · 102 words · 文叨叨