1.3 What Is the Preboot Execution Environment (PXE)?

1.3.1 Understanding How Preboot Services Uses PXE

PXE uses DHCP (Dynamic Host Configuration Protocol) and TFTP (Trivial File Transfer Protocol) to locate and load bootstrap programs from the network. The PXE environment is loaded from the BIOS on the NIC.

Preboot Services uses PXE to discover if there is Preboot Services work specified for a device and to provide the device with the files necessary to execute the assigned work.

Using Preboot Services, you can automatically place an image on a device, even if the device’s hard disk is blank. You do not need to use a CD, DVD, ZENworks partition, or a bootable USB on the device.

1.3.2 Understanding the ZENworks NBPs

The Intel PXE specification defines mechanisms and protocols that allow PXE devices to use their network interface cards (NICs) to find bootstrap programs located on network servers. In the PXE specification, these programs are called Network Bootstrap Programs (NBPs).

NBPs are analogous to the bootstrap programs found in the Master Boot Records (MBRs) of other boot media, such as hard drives, floppy disks, CDs, and DVDs. The purpose of a bootstrap program is to find and load a bootable operating system. MBRs on traditional boot media accomplish this by locating the necessary data on their respective media. NBPs accomplish this by using files found on network servers, usually TFTP servers.

ZENworks Preboot Services uses separate NBPs working together:

nvlnbp.sys

This NBP has the following responsibilities:

  • Detect various SMBIOS parameters and local hardware

  • Read the ZENworks identity information from the hard drives

  • Communicate with novell-zmgprebootpolicy to determine if there is any preboot work applicable to the device

  • Present and manage the Novell Preboot Services Menu

  • If necessary, launch pxelinux.0 to execute the assigned preboot work

pxelinux.0

The primary purpose of this NBP is to load the operating system that is required to execute the assigned preboot work.

The pxelinux.0 file is a modified version of part of an open source project called syslinux. Although pxelinux.0 is primarily a Linux loader, it is capable of loading other operating systems. It operates by using configuration files located on a TFTP server to provide boot instructions. The various pxelinux.0 configuration files used by ZENworks can be found on your Imaging Server in the /srv/tftp directory on Linux or the %ZENWORKS_HOME%\share\tftp directory on Windows, where%ZENWORKS_HOME% is the complete path of the ZENworks installation directory.

In ZENworks, when PXE devices are assigned preboot work, they are also told which pxelinux.0 configuration file they should use to execute that work. Similarly, when using the Novell Preboot Services Menu, each menu option corresponds to a pxelinux.0 configuration file. For more information, see Section 2.4.4, Editing the Novell Preboot Services Menu.

For more information on pxelinux.0 and its configuration files, see the syslinux home page.

For a copy of the Novell modifications to the syslinux open source project, see Novell Forge.

mfnbpx64.efi or mfnbpia32.efi

This NBP has the following responsibilities:

  • Detect various SMBIOS parameters and local hardware

  • Read the ZENworks identity information from the hard drives

  • Communicate with novell-zmgprebootpolicy to determine if there is any preboot work applicable to the device

  • Present and manage the Novell Preboot Services Menu

  • If necessary, launch pxelinux.0 to execute the assigned preboot work

grub.efi

The primary purpose of this NBP is to load the operating system that is required to execute the assigned preboot work.

The various configuration files used by ZENworks can be found on your Imaging Server in the /srv/tftp/efi/x86_64 directory on Linux or the %ZENWORKS_HOME%\share\tftp\efi\x86_64 directory on Windows, where%ZENWORKS_HOME% is the complete path of the ZENworks installation directory.

In ZENworks, when PXE devices are assigned preboot work, they are also told which configuration file they should use to execute that work. Similarly, when using the Novell Preboot Services Menu, each menu option corresponds to a configuration file. For more information on editing the menu for UEFI, see Section 2.4.4, Editing the Novell Preboot Services Menu.

1.3.3 Preparing to Use PXE

Before you can use Preboot Services with PXE, you need to do the following:

  1. Install ZENworks. For more information, see the ZENworks Server Installation.

  2. Enable PXE on your ZENworks devices. For more information, see Section 2.7, Enabling PXE on Devices.

  3. Have a standard DHCP server, either on your ZENworks Imaging Server or on another network server where ZENworks is not installed. For more information, see Configuring LAN Environments for Preboot Services.