pxeboot is a modified version of the amd64
second-stage bootstrap program,
boot(8), configured to run under
Intel's Preboot Execution Environment (PXE). PXE is a form of smart boot ROM,
built into many Ethernet cards from Intel, 3Com, and other manufacturers.

The computer's PXE boot ROM contacts a DHCP server by broadcasting a request on
the network. It gets an IP address from the DHCP server, then it is told the
name of the boot program to download — in this case, the boot program
is pxeboot. The ROM downloads the boot program
using TFTP, then executes it.

The pxeboot boot program will look for an
/etc/boot.conf configuration file on the TFTP
server. If it finds one, it processes the commands within it.
boot.conf processing can be skipped by holding
down either Control key as pxeboot starts.

pxeboot then sits in a loop, processing commands
given by the user. It accepts all the commands accepted by
boot(8).

If no commands are given for a short time, pxeboot
will then attempt to load the OpenBSD kernel
bsd via TFTP. It may be told to boot an
alternative kernel, either by commands in the
boot.conf file, or by commands typed by the user
at the boot> prompt.
pxeboot can be used for
diskless(8) setups or to load
the bsd.rd install kernel for network installs.

To prepare a server to support network booting, the
dhcpd(8) and
tftpd(8) services should be
enabled and configured.

pxeboot and the kernel should be copied into the
TFTP server's root directory (typically
/tftpboot). A
boot.conf file may be created if required (e.g.
/tftpboot/etc/boot.conf).

Since amd64 systems boot up as i386 systems, their PXE ROMs typically set the
PXE client system architecture to be the same as for i386. This means that the
DHCP option vendor-class-identifier cannot,
therefore, be used to distinguish between i386 and amd64 systems.

Instead, the client machine identifier (UUID) or hardware Ethernet address (MAC)
should be used. See dhcpd(8) and
dhcpd.conf(5) for more
information.