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.