NOTE - to apply any changes made in the UI whilst Tiny PXE Server is running you will need to stop (Offline) and (re)start (Online) services.
The following sections are covered in this page -
Tiny PXE Server includes support for TFTP, HTTP and DNS using built in daemons. The following can be turned on or off by selected the corresponding option in the Tiny PXE SERVER GUI (top left - see screenshot below) -
Running the Tiny PXE Server executable (pxesrv.exe) will not automatically start the Server unless this is specified in the configuration file (config.ini). To start/stop the server use the buttons in the top right of the GUI -
The following keyboard shortcuts can be used for the Online and Offline buttons -
The main windows near the top of the GUI will display any feedback as Tiny PXE Server is started/running - including file requests, etc. -
It's possible to save this information to a log file, or copy to the clipboard, by right-clicking within the main window and selecting the relevant option. -
Alternatively it's possible to automatically log output by specifying the relevant setting in the configuration file (config.ini)
The majority of the settings are contained in the area below (refer to Table 2 for more details) - note that changing these parameters whilst Tiny PXE Server is running may require a stop/start action.
Some settings are hidden and can be displayed by pressing the More button displayed in the screenshot below.
The additional options displayed when pressing the More button displayed in the screenshot below.
On low resolution displays, or for personal preference, use the vscroll=1 setting in the configuration file (config.ini) to display a scrolling window for access to the additional options that are usually displayed only when pressing the More button -
Table 1 lists the services/daemons supported by Tiny PXE Server. These are listed as they appear in the GUI (top left) - the second column displays the option as it appears in config.ini.
|Boot Image Negotiation Layer (BINL) is required for Remote Installation Services (RIS) and Windows Deployment Services (WDS) - for remotely deploying Windows.
|Domain Name System (DNS) daemon.
|Hypertext Transfer Protocol (HTTP) daemon - a web server that waits for incoming file requests. The daemon answers the request automatically and serves the files over the network using HTTP - this protocol is significantly faster than TFTP (Trivial File Transfer Protocol), however network boot programs that support using HTTP are limited (iPXE, gPXE, gpxelinux).
|Dynamic Host Configuration Protocol (DHCP) is a protocol that automatically provides a client PC with configuration information including an Internet Protocol (IP) address and default gateway. Tiny PXE Server includes a DHCP server - unfortunately this can cause conflicts if the network has an existing DHCP server. The Proxy DHCP service can be used if another DHCP server is running on the same network - Tiny PXE Server will then handle PXE requests whilst the existing server handles IP address assignment. "...Simply put proxydhcp is using a separate dhcp from the regular dhcp server to hand out boot parameters. An existing dhcp server isn't modified. Very handy for setting up a PXE environment without access to the existing dhcp infrastructure..."
|Server Message Block (SMB) can be used to share access to files between computers on a network. Enabling SMB in Tiny PXE Server will share the root folder - using the sharename PXE. This can be useful in Remote Installation Service (RIS) installations, which require a Windows share.
The table below lists the options that are configurable in the GUI. These are listed from top to bottom as they appear in the GUI - the second column displays the option as it appears in config.ini.
(DHCP Server) *
|IP Address of the machine running Tiny PXE Server. This still applies if running the ProxyDhcp service. If multiple Network Adapters are in use on the system running Tiny PXE Server then ensure the correct adapter is selected.
|IP Pool Start *
|Assign IP addresses starting from the IP address specified here. I.e. if this option is set as 192.168.2.10 then the first client connecting to the server will be assigned the IP address 192.168.2.10, the next client will be assigned the IP address 192.168.2.11, etc. NOTE - this option is ignored if using the ProxyDhcp service.
|IP Pool Size *
|This setting will determine the number of machines that can simultaneously connect to the server. NOTE - this option is ignored if using the ProxyDhcp service.
|Used in ProxyDhcp mode to specify the IP address of the PXE Server.
Alternatively, use Next-Server to specify another TFTP server on the network - see here for more information.
(Lease time in secs) *
|Specifies the length of time (in seconds) from IP address assignment until the client's lease on the address ends. Default value is 86400 seconds (1440 minutes or 24 hours).
|Option 1 (Subnet Mask)
|Set subnet mask. Note - this option will be configured based on Windows settings for the Network Adapter selected in Option 54 (DHCP Server) * unless its specified in the configuration file (config.ini).
|Option 3 (Router)
|Specifies the IP address for the default router on the client's subnet.
|Option 6 (DNS Server)
|Specifies the IP address for the DNS name server available to the client. Note - this option will be configured based on Windows settings for the Network Adapter selected in Option 54 (DHCP Server) * unless its specified in the configuration file (config.ini).
|Option 28 (Broadcast)
|"...This option specifies the broadcast address used on the client’s subnet..."
(DNS Domain Name)
|Carries the domain name portion of a client’s fully qualified domain name (FQDN).
|Boot File - Filename
|Specify the Network Bootstrap Program to be loaded by the client when connecting to Tiny PXE Server. If the Root Path option is not defined then the directory from which this file is loaded will become the root. Note - DO NOT set this option and Option 67 (Boot File Name) at the same time.Option 67 is used to specify a DHCP boot file - Boot File - Filename is used to specify a BOOTP (Bootstrap Protocol) boot file.
|Boot File - Filename if user-class=gPXE or iPXE
|If the Filename selected in the Boot File - Filename option is a iPXE/gPXE network bootstrap program then use this option to automatically load a iPXE/gPXE script - e.g. selecting menu.ipxe in this option will load the sample iPXE menu included in the Tiny PXE Server download.
|Option 17 (Root Path)
This option should not be confused with the root setting.
DHCP Option 17 (Root Path) - "...This option specifies the pathname that contains the client's root disk...". Setting opt17 and root should not cause any conflict.
The following examples could be used with the iPXE network bootstrap program to diskless boot an operating system without the need for an iPXE script -
Instruction on usage for the Extra Option field is limited. The following posts are from the Reboot.pro forum -
"...Tiny PXE Server has a field "extra option" where you can specify any dhcp option. I aggree that this is not obvious nor friendly...for example : 211.90 would set the pxelinux.reboottime to 90. Alphacharacters need to be translated to numeric..."
"...In the extra option field, you may want to try these ipxe options : 22.214.171.124.126.96.36.199.
175 means we want ipxe options, has total length =6, option 1 length 1 value 1, option 176, length 1, value 1. It will tell ipxe to use your tiny pxe server dhcp first (option 1) and also to not wait for any proxydhcp packet (option 176).
More details here : http://ipxe.org/howto/dhcpd..."
(Boot File Name)
|The name of the file to be downloaded from the server specified in Option 66 (Boot Server HostName). Note - DO NOT set this option and Boot File - Filename at the same time. Option 67 is used to specify a DHCP boot file - Boot File - Filename is used to specify a BOOTP (Bootstrap Protocol) boot file.
Note that some older PXE Clients require a null terminated string after the filename - this can be implemented in Tiny PXE Server by ending the entry with \0 - e.g. if setting Option 67 as pxelinux.0, enter pxelinux.0\0 in this field (see discussion here).
(Boot Server HostName)
|Specify the fully qualified domain name (FQDN) or IP address of the server hosting the file specified in Option 67 (Boot File Name).
|Option 60 (ClassID)
"...Carries some identifier from the client that may identify the client’s device class. The DHCP specification does not define what values go into this field, but other specifications do..."
|Option 43 Subopt 1
(PXE MTFTPD IP)
"...Carries some configuration data that is not defined in the standard DHCP RFCs. Individual vendors can define different pieces of data that may be found in this option...."
The current release of Tiny PXE Server uses a checkbox to enable DHCP option 43 subopt 1 - setting the value to 0.0.0.0. This may be required by some older clients along with setting Option 60 (ClassID) to PXEClient. See here for more details.
Boot File Name
|Note from config.sample included in the Tiny PXE Server package - "...alternative bootp filename if request comes thru proxydhcp (udp:4011)..." - e.g. specify pxeboot.com if using Windows Deployment Service (WDS) with wdsnbp.com specified as Option 67 (Boot File Name).
Option 252 (Private)
|Note from dhcp-options.html included in the Tiny PXE Server package - "...Individual vendors can define different pieces of data that may be found in this option...". This option can be used to specify the path to a BCD store when using WDS to boot Windows PE - allowing the option to specify a path other than the default BOOT\BCD.
Document date - 28th February 2017(DRAFT)