如何从 Workbench 构建 PXE 可启动引导加载程序?
我正在尝试构建一个可从 Workbench 进行 PXE 引导的 VxWorks 引导加载程序,但没有取得任何成功。 以下是我的环境的概要:
- VxWorks 6.6 + 最新补丁
- Workbench 3.0 + 最新补丁
- Montevina BSP 版本 2.0/1
目标是 Dell Precision M4400 笔记本电脑。 以下是我一直在做的事情,但没有成功:
- 使用
PROFILE_BOOTAPP
配置文件在 Workbench 中基于 Montevina BSP 创建一个新的VxWorks 图像项目
。 - 将以下组件添加到内核配置中(否则构建失败):
-INCLUDE_TIMER_SYS
-INCLUDE_PCI_BUS
-INCLUDE_PCI_OLD_CONFIG_ROUTINES
>
-INCLUDE_PENTIUM_PCI
- 将
INCLUDE_PC_CONSOLE
组件添加到内核配置中以进行控制台显示(目标上没有任何串行端口) - 将构建规范设置为
default_romCompress
并添加名为vxWorks_romCompress.bin
的新构建目标 - 构建
vxWorks_romCompress.bin
目标,这将创建相应的文件。 - 将 PXE 填充添加到文件中:
cat $WIND_BASE/vxworks-6.6/target/config/montevina/pxeBoot.bin vxWorks_romCompress.bin > vxWorks_romCompress.pxe
- 将
vxWorks_romCompress.pxe
复制到我的 TFTP 服务器的适当位置,并从我的目标执行 PXE 引导。
此时,目标已成功从 TFTP 服务器下载文件,但停滞在那里且没有任何输出。 控制台上没有任何显示。
RAM_HIGH_ADRS
和 RAM_LOW_ADRS
在 Workbench 项目中似乎设置正确(它们与位于 0x00108000
的旧版 config.h 文件的设置相匹配,并且分别为0x003080000
)。
(请注意,Montevina BSP 确实附带了一个预构建的 bootrom.pxe
引导加载程序,我已经能够成功进行 PXE 引导。我需要添加不过,我更愿意通过 Workbench 环境而不是旧版 config.h 方法来完成此操作。)
我还尝试镜像 Workbench 项目的内核配置中包含的组件以匹配旧版config.h 设置尽可能接近,但没有成功。 这些是已添加的组件(除了这些组件的任何依赖项之外):
INCLUDE_PLB_BUS
DRV_NVRAM_FILE
INCLUDE_GENERICPHY
DRV_INTCTLR_IOAPIC
- <代码>INCLUDE_GEI825XX_VXB_END
DRV_TIMER_IA_TIMESTAMP
INCLUDE_MII_BUS
DRV_INTCTLR_MPAPIC
DRV_SIO_NS16550
INCLUDE_FEI8255X_VXB_END
DRV_TIMER_LOAPIC
INCLUDE_SIO_UTILS
VXBUS_TABLE_CONFIG
INCLUDE_INTCTLR_LIB
INCLUDE_DMA_SYS
INCLUDE_PARAM_SYS
INCLUDE_SW_FPP< /code>
所以,这就是我现在所处的位置。 我猜问题出在上面的步骤 4-6 中,但我在文档中没有看到任何有关 Workbench 中使引导加载程序可 PXE 引导的正确方法的内容。
I'm trying to build a VxWorks boot loader that is PXE-bootable from Workbench, but not having any success. Here is a run-down of my environment:
- VxWorks 6.6 + latest patches
- Workbench 3.0 + latest patches
- Montevina BSP release 2.0/1
The target is a Dell Precision M4400 laptop. Here's what I've been doing, without success:
- Create a new
VxWorks Image Project
in Workbench based on the Montevina BSP using thePROFILE_BOOTAPP
profile. - Add the following components to the kernel configuration (the build fails otherwise):
-INCLUDE_TIMER_SYS
-INCLUDE_PCI_BUS
-INCLUDE_PCI_OLD_CONFIG_ROUTINES
-INCLUDE_PENTIUM_PCI
- Add the
INCLUDE_PC_CONSOLE
component to the kernel configuration for console display (there aren't any serial ports on the target) - Set the build spec to
default_romCompress
and add a new build target namedvxWorks_romCompress.bin
- Build the
vxWorks_romCompress.bin
target, which creates the corresponding file. - Add the PXE padding to the file:
cat $WIND_BASE/vxworks-6.6/target/config/montevina/pxeBoot.bin vxWorks_romCompress.bin > vxWorks_romCompress.pxe
- Copy
vxWorks_romCompress.pxe
to the appropriate location for my TFTP server, and do a PXE boot from my target.
At this point the target successfully downloads the file from the TFTP server, but stalls there with no output. There is nothing displayed on the console.
The RAM_HIGH_ADRS
and RAM_LOW_ADRS
do appear to be set correctly in the Workbench project (they match the settings of the legacy config.h file at 0x00108000
and 0x003080000
, respectively).
(Note that the Montevina BSP does ship with a pre-built bootrom.pxe
boot loader, which I have been able to PXE-boot successfully. I'm needing to add several components to the boot loader, though, and would really prefer to do this via the Workbench environment, rather than the legacy config.h method.)
I've also tried mirroring the components included in the Workbench project's kernel configuration to match the legacy config.h settings as closely as possibly, without success. These are the components that were added (in addition to any dependencies of these):
INCLUDE_PLB_BUS
DRV_NVRAM_FILE
INCLUDE_GENERICPHY
DRV_INTCTLR_IOAPIC
INCLUDE_GEI825XX_VXB_END
DRV_TIMER_IA_TIMESTAMP
INCLUDE_MII_BUS
DRV_INTCTLR_MPAPIC
DRV_SIO_NS16550
INCLUDE_FEI8255X_VXB_END
DRV_TIMER_LOAPIC
INCLUDE_SIO_UTILS
VXBUS_TABLE_CONFIG
INCLUDE_INTCTLR_LIB
INCLUDE_DMA_SYS
INCLUDE_PARAM_SYS
INCLUDE_SW_FPP
So, that's where I am right now. I'm guessing the problem is in steps 4-6 above, but I don't see anything in the docs as to the proper way from within Workbench to make the boot loader PXE-bootable.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Wind River联系我说目前不支持这个。
Wind River got in touch with me and said this is not supported at present.