1*bbf21555SRichard Lowe.\" Copyright (c) 1999 Doug White 2*bbf21555SRichard Lowe.\" All rights reserved. 3*bbf21555SRichard Lowe.\" 4*bbf21555SRichard Lowe.\" Redistribution and use in source and binary forms, with or without 5*bbf21555SRichard Lowe.\" modification, are permitted provided that the following conditions 6*bbf21555SRichard Lowe.\" are met: 7*bbf21555SRichard Lowe.\" 1. Redistributions of source code must retain the above copyright 8*bbf21555SRichard Lowe.\" notice, this list of conditions and the following disclaimer. 9*bbf21555SRichard Lowe.\" 2. Redistributions in binary form must reproduce the above copyright 10*bbf21555SRichard Lowe.\" notice, this list of conditions and the following disclaimer in the 11*bbf21555SRichard Lowe.\" documentation and/or other materials provided with the distribution. 12*bbf21555SRichard Lowe.\" 13*bbf21555SRichard Lowe.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 14*bbf21555SRichard Lowe.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15*bbf21555SRichard Lowe.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 16*bbf21555SRichard Lowe.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 17*bbf21555SRichard Lowe.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 18*bbf21555SRichard Lowe.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 19*bbf21555SRichard Lowe.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 20*bbf21555SRichard Lowe.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 21*bbf21555SRichard Lowe.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 22*bbf21555SRichard Lowe.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 23*bbf21555SRichard Lowe.\" SUCH DAMAGE. 24*bbf21555SRichard Lowe.\" 25*bbf21555SRichard Lowe.\" Copyright 2018 OmniOS Community Edition (OmniOSce) Association. 26*bbf21555SRichard Lowe.\" 27*bbf21555SRichard Lowe.Dd Apr 13, 2018 28*bbf21555SRichard Lowe.Dt PXEBOOT 7 29*bbf21555SRichard Lowe.Os 30*bbf21555SRichard Lowe.Sh NAME 31*bbf21555SRichard Lowe.Nm pxeboot 32*bbf21555SRichard Lowe.Nd Preboot Execution Environment (PXE) bootloader 33*bbf21555SRichard Lowe.Sh DESCRIPTION 34*bbf21555SRichard LoweThe 35*bbf21555SRichard Lowe.Nm 36*bbf21555SRichard Lowebootloader is a modified version of the system third-stage bootstrap 37*bbf21555SRichard Lowe.Xr loader 7 38*bbf21555SRichard Loweconfigured to run under Intel's Preboot Execution Environment (PXE) system. 39*bbf21555SRichard LowePXE is a form of smart boot ROM, built into Ethernet cards, and 40*bbf21555SRichard LoweEthernet-equipped motherboards. 41*bbf21555SRichard LowePXE supports DHCP configuration and provides low-level NIC access services. 42*bbf21555SRichard Lowe.Pp 43*bbf21555SRichard LoweThe DHCP client will set a DHCP user class named 44*bbf21555SRichard Lowe.Va illumos 45*bbf21555SRichard Loweto allow flexible configuration of the DHCP server. 46*bbf21555SRichard Lowe.Pp 47*bbf21555SRichard LoweThe 48*bbf21555SRichard Lowe.Nm 49*bbf21555SRichard Lowebootloader retrieves the kernel, modules, 50*bbf21555SRichard Loweand other files either via NFS over UDP or by TFTP, 51*bbf21555SRichard Loweselectable through DHCP options. 52*bbf21555SRichard Lowe.Pp 53*bbf21555SRichard LoweThe 54*bbf21555SRichard Lowe.Nm 55*bbf21555SRichard Lowebinary is loaded just like any other boot file, 56*bbf21555SRichard Loweby specifying it in the DHCP server's configuration file. 57*bbf21555SRichard LoweBelow is a sample configuration for the ISC DHCP server: 58*bbf21555SRichard Lowe.Bd -literal -offset indent 59*bbf21555SRichard Loweoption domain-name "example.com"; 60*bbf21555SRichard Loweoption routers 10.0.0.1; 61*bbf21555SRichard Loweoption subnet-mask 255.255.255.0; 62*bbf21555SRichard Loweoption broadcast-address 10.0.0.255; 63*bbf21555SRichard Loweoption domain-name-servers 10.0.0.1; 64*bbf21555SRichard Loweserver-name "DHCPserver"; 65*bbf21555SRichard Loweserver-identifier 10.0.0.1; 66*bbf21555SRichard Lowe 67*bbf21555SRichard Lowedefault-lease-time 120; 68*bbf21555SRichard Lowemax-lease-time 120; 69*bbf21555SRichard Lowe 70*bbf21555SRichard Lowesubnet 10.0.0.0 netmask 255.255.255.0 { 71*bbf21555SRichard Lowe filename "pxeboot"; 72*bbf21555SRichard Lowe range 10.0.0.10 10.0.0.254; 73*bbf21555SRichard Lowe if exists user-class and option user-class ~~ "illumos" { 74*bbf21555SRichard Lowe option root-path "tftp://10.0.0.1/illumos"; 75*bbf21555SRichard Lowe } 76*bbf21555SRichard Lowe} 77*bbf21555SRichard Lowe 78*bbf21555SRichard Lowe.Ed 79*bbf21555SRichard Lowe.Pp 80*bbf21555SRichard Lowe.Nm 81*bbf21555SRichard Lowerecognizes 82*bbf21555SRichard Lowe.Va next-server 83*bbf21555SRichard Loweand 84*bbf21555SRichard Lowe.Va option root-path 85*bbf21555SRichard Lowedirectives as the server and path to NFS mount for file requests, 86*bbf21555SRichard Lowerespectively, or the server to make TFTP requests to. 87*bbf21555SRichard LoweNote that 88*bbf21555SRichard Lowe.Nm 89*bbf21555SRichard Loweexpects to fetch 90*bbf21555SRichard Lowe.Pa /boot/loader.rc 91*bbf21555SRichard Lowefrom the specified server before loading any other files. 92*bbf21555SRichard Lowe.Pp 93*bbf21555SRichard LoweValid 94*bbf21555SRichard Lowe.Cm option Va root-path 95*bbf21555SRichard Lowesyntax is 96*bbf21555SRichard Lowe.Bd -literal -offset indent 97*bbf21555SRichard Lowe[<scheme>://][<ip-address>/]<path> 98*bbf21555SRichard Lowe.Ed 99*bbf21555SRichard Lowe.Pp 100*bbf21555SRichard Lowe\&...where 101*bbf21555SRichard Lowe.Qq scheme 102*bbf21555SRichard Loweis either 103*bbf21555SRichard Lowe.Qq nfs 104*bbf21555SRichard Loweor 105*bbf21555SRichard Lowe.Qq tftp , 106*bbf21555SRichard Lowe.Qq ip-address 107*bbf21555SRichard Loweis the address of the server, and 108*bbf21555SRichard Lowe.Qq path 109*bbf21555SRichard Loweis the path to the root filesystem on the server. 110*bbf21555SRichard LoweIf 111*bbf21555SRichard Lowe.Qq scheme 112*bbf21555SRichard Loweis not specified, 113*bbf21555SRichard Lowe.Nm 114*bbf21555SRichard Lowedefaults to using NFS if the 115*bbf21555SRichard Lowe.Va root-path 116*bbf21555SRichard Lowevariable is in the 117*bbf21555SRichard Lowe.Qq Pa ip-address Ns :/ Ns Pa path 118*bbf21555SRichard Loweform, otherwise TFTP is used. 119*bbf21555SRichard LoweIf no 120*bbf21555SRichard Lowe.Va root-path 121*bbf21555SRichard Loweoption is set in the DHCP response, 122*bbf21555SRichard Lowe.Nm 123*bbf21555SRichard Lowedefaults to using TFTP. 124*bbf21555SRichard Lowe.Pp 125*bbf21555SRichard Lowe.Nm 126*bbf21555SRichard Lowedefaults to a conservative 1024 byte NFS data packet size. 127*bbf21555SRichard LoweThis may be changed by setting the 128*bbf21555SRichard Lowe.Va nfs.read_size 129*bbf21555SRichard Lowevariable in 130*bbf21555SRichard Lowe.Pa /boot/loader.conf . 131*bbf21555SRichard LoweValid values range from 1024 to 16384 bytes. 132*bbf21555SRichard Lowe.Pp 133*bbf21555SRichard LoweTFTP block size can be controlled by setting the 134*bbf21555SRichard Lowe.Va tftp.blksize 135*bbf21555SRichard Lowevariable in 136*bbf21555SRichard Lowe.Pa /boot/loader.conf . 137*bbf21555SRichard LoweValid values range from 8 to 9008 bytes. 138*bbf21555SRichard Lowe.Pp 139*bbf21555SRichard LoweIn all other respects, 140*bbf21555SRichard Lowe.Nm 141*bbf21555SRichard Loweacts just like 142*bbf21555SRichard Lowe.Xr loader 7 . 143*bbf21555SRichard Lowe.Pp 144*bbf21555SRichard LoweFor further information on Intel's PXE specifications and Wired for 145*bbf21555SRichard LoweManagement (WfM) systems, see 146*bbf21555SRichard Lowe.Li http://www.intel.com/design/archives/wfm/ . 147*bbf21555SRichard Lowe.Sh SEE ALSO 148*bbf21555SRichard Lowe.Xr loader 7 149