views:

557

answers:

2

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:

  1. Create a new VxWorks Image Project in Workbench based on the Montevina BSP using the PROFILE_BOOTAPP profile.
  2. 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
  3. Add the INCLUDE_PC_CONSOLE component to the kernel configuration for console display (there aren't any serial ports on the target)
  4. Set the build spec to default_romCompress and add a new build target named vxWorks_romCompress.bin
  5. Build the vxWorks_romCompress.bin target, which creates the corresponding file.
  6. Add the PXE padding to the file:
    cat $WIND_BASE/vxworks-6.6/target/config/montevina/pxeBoot.bin vxWorks_romCompress.bin > vxWorks_romCompress.pxe
  7. 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.

+1  A: 

Wind River got in touch with me and said this is not supported at present.

arathorn
A: 

Hello, I am facing the exact problem as you are. The PXE boot stalls after displaying the IP info of the host and target and does a TFTP time out.

How did you resolve it ? My target is the Intel Core 2 Duo the bsp i am using is the idp945 target bsp (which the supports folk claimed is the closest to the target architecture i have).

Regards, Ananya

Ananya