我正在尝试通过 PXE 启动 LynxOS。供应商提供了一个名为 pxe.0 的 NBP。然后我配置并构建了一个名为 pxe.1 的映像。这些都放在 tftp 服务器上,它与 DHCP 服务器不是同一个系统。
在启动时,系统会从 DHCP 服务器检索正确的信息,包括正确的 IP 信息、正确的下一个服务器以及正确的启动文件名。所有这些都已使用 tcpdump 进行了验证。此后不再有 DHCP 流量。
系统正确检索了 pxe.0,然后尝试获取 pxe.1,但失败了。
我已确定它正在尝试从 DHCP 服务器而不是正确的 tftp 服务器获取 pxe.1。我可以通过将 pxe.1 文件放在该系统上的 tftp 服务器上并启动至完成来验证这一点。
那么我的问题是,是什么决定了 pxe.1 文件的下载方式?此时 pxe.0 是否在指挥一切,并且做出了错误的假设,即 DHCP 服务器始终与 tftp 服务器相同,还是我遗漏了某些明显的东西?
答案1
PXE rom 很可怕。如果我发现它使用的是 DHCP 服务器而不是下一个服务器设置,我一点也不惊讶。
除了联系供应商之外,您实际上没有太多选择。
你提到了任何硬件细节,但也许你可以用以下产品替换有故障的“pxe.0”rom启动?
答案2
这绝对是 LynxOS 的一个错误;当您的 PXE 启动时,执行 DHCP 事务获取其 IP 和 PXE 参数(TFTP IP 和 NBP 的名称)。卡 PXE 固件正确理解 TFTP 服务器 IP 与 DHCP 服务器 IP 不同,并正确下载 PXE.0 (NBP)。一旦 NBP 加载到内存中,应该从 PXE 堆栈中获取 TFTP 服务器 IP,但它错误地将 DHCP 服务器 IP 作为 TFTP。您应该报告该错误并要求修补。