FreeBSD can be booted either from a DOS bootable floppy, or from code placed into a ROM on the network card. The FreeBSD source tree (/usr/src/sys/i386/boot/netboot/) contains code for a program called nb8390.com which will boot FreeBSD when run from DOS. The same source can be used to build nb8390.rom, the equivilant code for burning into ROM.
NOTE: The source for nb8390 attempts to probe for WD/SMC, 3C503, & NE2000 cards. The current version is broken and will not support all 3 cards with one executable. Edit the makefile to create a version specific to the card you intend to use. Change the 3 lines:
NS8390= -DINCLUDE_WD -DWD_DEFAULT_MEM=0xD0000 NS8390+= -DINCLUDE_NE -DNE_BASE=0x260 NS8390+= -DINCLUDE_3COM -D_3COM_BASE=0x300
to the 1 that is appropriate for your card. You might also need to change either the I/O or MEMORY addresses to those used by your hardware.
To build a DOS boot disk first create a floppy with your DOS machine that will boot to DOS. Then place that disk into the FreeBSD HOST and do the following:
# mount_msdos /dev/fd0a /mnt # cp /usr/src/sys/i386/boot/netboot/nb8390.com /mnt # umount /mnt
Place the above disk in the DISKLESS box's drive and hit RESET. Once DOS boots, run the netboot program nb8390. If all goes well you should see FreeBSD boot!