pxeboot - i386-specific second-stage PXE bootstrap
pxeboot is a modified version of the i386 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.
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. At this time, it is
expected that
pxeboot will be used to load the bsd.rd install kernel, for
network installs,
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 directory
(typically /tftpboot). A boot.conf file may be created if required
(e.g. /tftpboot/etc/boot.conf).
A sample configuration file for dhcpd(8) might be as follows:
option domain-name "example.com";
option routers 10.0.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.255;
option domain-name-servers 10.0.0.1;
server-name "DHCPserver";
server-identifier 10.0.0.1;
default-lease-time 120;
max-lease-time 120;
subnet 10.0.0.0 netmask 255.255.255.0 {
filename "pxeboot";
range 10.0.0.10 10.0.0.254;
}
See dhcpd(8) and dhcpd.conf(5) for more information.
/usr/mdec/pxeboot PXE-specific second-stage bootstrap
/etc/boot.conf pxeboot configuration file (read from
TFTP server)
/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_i386(8), dhcpd(8), httpd(8),
tftpd(8)
Intel Corporation, Preboot Execution Environment (PXE)
Specification,
Version 2.1, September 20, 1999.
The pxeboot command first appeared in OpenBSD 3.5.
OpenBSD 3.6 March 18, 2004
[ Back ] |