PXEBOOT(7) | Standards, Environments, and Macros | PXEBOOT(7) |
pxeboot
— Preboot
Execution Environment (PXE) bootloader
The pxeboot
bootloader is a modified
version of the system third-stage bootstrap
loader(7) configured to run under
Intel's Preboot Execution Environment (PXE) system. PXE is a form of smart
boot ROM, built into Ethernet cards, and Ethernet-equipped motherboards. PXE
supports DHCP configuration and provides low-level NIC access services.
The DHCP client will set a DHCP user class named illumos to allow flexible configuration of the DHCP server.
The pxeboot
bootloader retrieves the
kernel, modules, and other files either via NFS over UDP or by TFTP,
selectable through DHCP options.
The pxeboot
binary is loaded just like any
other boot file, by specifying it in the DHCP server's configuration file.
Below is a sample configuration for the ISC DHCP server:
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; if exists user-class and option user-class ~~ "illumos" { option root-path "tftp://10.0.0.1/illumos"; } }
pxeboot
recognizes
next-server and option root-path
directives as the server and path to NFS mount for file requests,
respectively, or the server to make TFTP requests to. Note that
pxeboot
expects to fetch
/boot/loader.rc from the specified server before
loading any other files.
Valid option
root-path syntax is
[<scheme>://][<ip-address>/]<path>
...where "scheme" is either "nfs" or
"tftp", "ip-address" is the address of the server, and
"path" is the path to the root filesystem on the server. If
"scheme" is not specified, pxeboot
defaults to using NFS if the root-path variable is in
the
"ip-address:/path"
form, otherwise TFTP is used. If no root-path option
is set in the DHCP response, pxeboot
defaults to
using TFTP.
pxeboot
defaults to a conservative 1024
byte NFS data packet size. This may be changed by setting the
nfs.read_size variable in
/boot/loader.conf. Valid values range from 1024 to
16384 bytes.
TFTP block size can be controlled by setting the tftp.blksize variable in /boot/loader.conf. Valid values range from 8 to 9008 bytes.
In all other respects, pxeboot
acts just
like loader(7).
For further information on Intel's PXE specifications and Wired
for Management (WfM) systems, see
http://www.intel.com/design/archives/wfm/
.
April 13, 2018 | OmniOS |