First, let me think Nigel & H Peter Anvin for pointing me in the right direction for this solution.
Here's the dilemma as I see it for Ghost users who use PXE. The 3com setup is pretty good, but it's starting to show it's age and there are better alternatives for both the pxe/tftp services. What there's not a good replacement for are the 16MB images. It's the perfect size and very fast. Floppy images (even 2.8) are too small to be useful w/ the current Symantec utilities. The problem w/ the 3com bootstrap is that it only loads DOS, so it's very limiting.
THE GOAL: A single PXE menu that can boot 3com images, DOS, Linux, WinPE, WDS, and other misc utils.
Here's how I'm doing it:
Convert 3com images.
pxelinux can chain load the 3com menu (mba.pxe) but the 3com menu will then fail to load a .sys image. Here's a really simple fix to directly load your .sys images from the pxelinux menu. Download winimage free trial is all you need, but it's such a great app I bought it.
http://www.winimage.com/download.htm
All you need to do to make the 3com images compatible is simply open them w/ winimage and save as .IMZ (IMA is the same, but not compressed - use IMZ) file. That's it. Somehow this removes some of the proprietary header info (maybe). The downside is that the 3com image editor will not work w/ the image anymore, but you can use winimage which works almost as well.
Setup pxelinux as the boot strap
Grab the latest syslinux from
http://www.kernel.org/pub/linux/utils/boot/syslinux/
(I'm using 3.81) copy the following files to the root of your tftp server (probably c:\TFTPBOOT\ if you're using the 3com setup)
pxelinux.0
memdisk
chain.c32
vesamenu.c32
If you're using the 3com pxe server edit the BOOTPTAB to send pxelinux.0 in place of mba.pxe. If you send that file via DHCP, you'll need to make the appropriate changes on your server to send pxelinux.0. If you use WDS I highly recommend loading pxelinux first and adding WDS as a menu option. see
http://syslinux.zytor.com/wiki/index.php/WDSLINUX This way you literally load anything & everything and have much easier menu to edit.
Create a boot menu for vesamenu.c32
create a folder called pxelinux.cfg. Copy and paste the following into notepad:
DEFAULT vesamenu.c32
PROMPT 0
NOESCAPE 0
ALLOWOPTIONS 0
TIMEOUT 200
MENU TITLE Boot Menu
LABEL Ghost_Client_UNDI
MENU LABEL ^1. Ghost Client UNDI
MENU DEFAULT
kernel memdisk
append keeppxe initrd=imz/Client_undi.imz
LABEL Ghost_Client_NDIS
MENU LABEL ^2. Ghost Client NDIS
kernel memdisk
APPEND keeppxe initrd=imz/Client_ndis.IMZ
LABEL WinPE
MENU LABEL ^3. WinPE 2.0
KERNEL boot/pxeboot.0
LABEL PartedMagic
MENU LABEL ^4. Parted Magic
kernel utils/pmagic/bzImage
LABEL Local_Drive
MENU LABEL ^5. Boot Local Drive
# localboot 0
KERNEL chain.c32
APPEND hd0 0
save as \TFTPBOOT\pxelinux.cfg\default (no file extension)
You'll need to edit this to match your file names and locations. Also, note that you can now add "real" sub menus and passwords if you want to.
I'll post a more in-depth menu as a response. Also, if you're not using WDS or xinetd's tftp I recomment dumping the 3com tftp in favor of tftpd32. W/ 3coms tftp I'm not able to load more than 1x PC at a time w/ WinPE (if I try they'll fail). W/ tftpd32 I'm able to get 24x simultaneously. It might work on more, but that's the max I've tried.
Cheers,
-Ben