如何从Workbench构建PXE可引导的引导加载程序?

时间:2009-03-24 22:21:42

标签: vxworks boot bootstrapping bootstrapper

我正在尝试构建一个可从Workbench进行PXE引导的VxWorks引导加载程序,但没有取得任何成功。这是我的环境的破败:

  • VxWorks 6.6 +最新补丁
  • Workbench 3.0 +最新补丁
  • Montevina BSP版本2.0 / 1

目标是戴尔Precision M4400笔记本电脑。这就是我一直在做的事情,没有成功:

  1. 使用VxWorks Image Project个人资料,根据Montevina BSP在Workbench中创建新的PROFILE_BOOTAPP
  2. 将以下组件添加到内核配置中(否则构建失败):
    - INCLUDE_TIMER_SYS
    - INCLUDE_PCI_BUS
    - INCLUDE_PCI_OLD_CONFIG_ROUTINES
    - INCLUDE_PENTIUM_PCI
  3. INCLUDE_PC_CONSOLE组件添加到内核配置以进行控制台显示(目标上没有任何串行端口)
  4. 将构建规范设置为default_romCompress,并添加名为vxWorks_romCompress.bin
  5. 的新构建目标
  6. 构建vxWorks_romCompress.bin目标,创建相应的文件。
  7. 将PXE填充添加到文件中:
    cat $WIND_BASE/vxworks-6.6/target/config/montevina/pxeBoot.bin vxWorks_romCompress.bin > vxWorks_romCompress.pxe
  8. vxWorks_romCompress.pxe复制到我的TFTP服务器的相应位置,然后从目标执行PXE启动。
  9. 此时目标成功从TFTP服务器下载文件,但在没有输出的情况下停止。控制台上没有显示任何内容。

    RAM_HIGH_ADRSRAM_LOW_ADRS似乎在Workbench项目中设置正确(它们与0x001080000x003080000的旧版config.h文件的设置相匹配,分别)。

    (请注意,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

    所以,那就是我现在的位置。我猜这个问题是在上面的步骤4-6中,但我没有在文档中看到任何关于从Workbench中使引导加载程序PXE可引导的正确方法的内容。

1 个答案:

答案 0 :(得分:1)

Wind River与我联系并表示目前不支持。