Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
PXEBOOT(8)          OpenBSD System Manager's Manual (AMD64)         PXEBOOT(8)

     pxeboot - amd64-specific second-stage PXE bootstrap

     pxeboot is a modified version of the amd64 second-stage bootstrap pro-
     gram, boot(8), configured to run under Intel's Preboot Execution Environ-
     ment (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 re-
     quest 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.

     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 alterna-
     tive kernel, either by commands in the boot.conf file, or by commands
     typed by the user at the boot> prompt.  At this time, it is expected that
     pxeboot will be used to load the bsd.rd install kernel, for network in-
     stalls, although this is not the default kernel.

     To prepare a server to support network installs, the dhcpd(8) and
     tftpd(8) services should be enabled and configured.  It may help to use
     the -s option with tftpd(8), to avoid confusion between files for the
     server's system and files for the client system.  (Note that -s is set by
     default in OpenBSD.)  ftpd(8) or httpd(8) should be enabled, depending on
     how the install sets will be made available.

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

     A sample configuration file for dhcpd(8) might be as follows:

           option domain-name "";
           option routers;
           option subnet-mask;
           option broadcast-address;
           option domain-name-servers;
           server-name "DHCPserver";

           default-lease-time 120;
           max-lease-time 120;

           subnet netmask {
               filename "pxeboot";

     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 ad-
     dress (MAC) should be used.  See dhcpd(8) and dhcpd.conf(5) for more in-

     /usr/mdec/pxeboot    PXE-specific second-stage bootstrap
     /etc/boot.conf       pxeboot configuration file (read from TFTP server)
     /etc/dhcpd.conf      DHCPD configuration file
     /tftpboot            Default root directory for tftpd(8)

     Boot the install kernel:

           boot> bsd.rd

     The same thing:

           boot> boot tftp:bsd.rd

     dhcpd.conf(5), boot(8), boot_amd64(8), dhcpd(8), httpd(8), tftpd(8)

     Intel Corporation, Preboot Execution Environment (PXE) Specification,
     Version 2.1, September 20, 1999.

     pxeboot first appeared in OpenBSD 3.5.

OpenBSD 3.9                     March 18, 2004                               2


Want to link to this manual page? Use this URL:

home | help