1.5 The Preboot Services Processes

The following sections explain how the Preboot Services processes work:

1.5.1 A Typical Preboot Services Operation

A typical Preboot Services operation flows as follows:

  1. A Preboot bundle is created in ZENworks Control Center and assigned to a PXE-enabled device.

  2. The PXE-enabled device starts to boot.

  3. The device sends a DHCP discovery request to determine the IP address of the Preboot Services Imaging Server.

  4. The DHCP server responds with an IP address for the device to use.

  5. Novell-proxydhcp responds with the IP addresses of the TFTP server, as well as the filename of the Preboot Services bootstrap program (nvlnbp.sys).

  6. The PXE device downloads the Preboot Services bootstrap program using novell-tftp.

  7. After the Preboot Services bootstrap program is downloaded and executed, the device checks novell-zmgprebootpolicy to see if there is any imaging work to do.

  8. If there is imaging work to do (as contained in a Preboot bundle that is assigned to the device), the device performs the following task

    • ZENworks Imaging: Downloads the Configuration Management imaging environment from the server so that the it can be booted to Linux.

    • Third-Party Imaging: Downloads the WinPE environment from the server.

  9. Any imaging tasks contained in the Preboot bundle are performed.

  10. If there are no imaging tasks to perform, files are not downloaded and the device proceeds to boot to its operating system.

In addition to using PXE for automation, you can also execute Preboot work manually using one of the following:

For more information, see Section 3.1.2, Using the Command Line for ZENworks Imaging.

1.5.2 Illustrating the Preboot Services Processes

The following illustrations show the interaction between a Preboot Services (PXE) device and a Preboot Services Imaging Server, starting when the PXE device is turned on and begins to boot, and ending when imaging work begins on that device.

The following example assumes that the devices and Imaging Servers are in the same network segment.

Phase 1: Beginning the Process

Depending on whether novell-proxydhcp is configured on the same server as the standard DHCP server or on a different server, the imaging process begins differently. The following sections illustrate how the process begins for each configuration, then the phases illustrated in Phases 2 through 8: Continuing the Process are the same for them.

Standard DHCP and Novell Proxy DHCP Configured on Separate Servers

For this example, the DHCP server and the Preboot Services Imaging Server are two separate servers on the network.

Figure 1-1 DHCP Configuration on Separate Servers

Phase 1 illustration for when the novell-proxydhcp daemon is running on the same server as the standard DHCP server.

Processes:

  1. When the device boots, the PXE BIOS issues a DHCP request with PXE extensions. The request is broadcast on port 67.

  2. The DHCP server responds with IP configuration information on port 68, and the Proxy DHCP server responds on port 68 with the name of the bootstrap program (nvlnbp.sys) and the IP address of the TFTP service or daemon where it can be found.

  3. Continue with Phases 2 through 8: Continuing the Process.

Standard DHCP and Novell Proxy DHCP Configured on the Same Server: Part A

For this example, the DHCP server and the Preboot Services Imaging Server are configured on the same server on the network. See Standard DHCP and Novell Proxy DHCP Configured on the Same Server: Part B for the second part of this example.

Figure 1-2 DHCP Configuration on the Same Server, Part A

Phase 1a illustration for when the novell-proxydhcp daemon is running on a different server than the standard DHCP server.

Processes:

  1. When the device boots, the PXE BIOS issues a DHCP request with PXE extensions. The request is broadcast on port 67.

  2. The DHCP server responds with IP configuration information on port 68, including tag 60 for PXEClient, which indicates that novell-proxydhcp is running on the same server.

Standard DHCP and Novell Proxy DHCP Configured on the Same Server: Part B

Figure 1-3 DHCP Configuration on the Same Server, Part B

Phase 1b illustration for when the novell-proxydhcp daemon is running on a different server than the standard DHCP server.

Processes:

  1. When the device sees tag 60 in the DHCP response, the PXE BIOS reissues the DHCP request on port 4011.

  2. The Proxy DHCP server responds on port 68 with the name of the bootstrap program (nvlnbp.sys) and the IP address of the TFTP service or daemon where it can be found.

  3. Continue with Phases 2 through 8: Continuing the Process.

Phases 2 through 8: Continuing the Process

The following sections explain how the Preboot Services process continues after Phase 1:

Phase 2

Figure 1-4 Phase 2 of the Preboot Services Process

Processes:

  1. The PXE BIOS requests nvlnbp.sys from the TFTP server.

  2. The TFTP server sends nvlnbp.sys to the PXE device.

  3. The PXE device loads nvlnbp.sys into memory.

Phase 3

Figure 1-5 Phase 3 of the Preboot Services Process

Processes:

  1. Hardware detection is performed by nvlnbp.sys and it reads the image-safe data.

  2. Nvlnbp.sys requests the Novell Preboot Services Menu configuration from the Data Model via novell-zmgprebootpolicy.

  3. Novell-zmgprebootpolicy returns the Novell Preboot Services Menu configuration. In this case, the menu described in pxemenu.txt is displayed when a user presses the hot key.

Phase 4

Figure 1-6 Phase 4 of the Preboot Services Process

Processes:

  1. Assuming no Novell Preboot Services Menu is displayed, the device asks the Data Model (via novell-zmgprebootpolicy) if any work is assigned.

  2. Assuming work is assigned, novell-zmgprebootpolicy responds with the name of the configuration file to use in performing the preboot work (z_auto.cfg for ZENworks Imaging as shown in the above illustration and winpe.cfg for ZENworks Third-Party Imaging).

Phase 5

Figure 1-7 Phase 5 of the Preboot Services Process

Processes:

  1. The PXE device requests pxelinux.0 from the TFTP server.

  2. The TFTP server sends pxelinux.0 to the device.

Phase 6

Figure 1-8 Phase 6 of the Preboot Services Process

Processes:

  1. Pxelinux.0 replaces nvlnbp.sys in memory, and requests z_auto.cfg from the TFTP server for ZENworks Imaging (as shown in the above illustration) and winpe.cfg for ZENworks Third-Party Imaging.

  2. The TFTP server sends the z_auto.cfg file for ZENworks Imaging and winpe.cfg for ZENworks Third-Party Imaging to the device.

Phase 7

Figure 1-9 Phase 7 of the Preboot Services Process

Processes for ZENworks Imaging (as shown in the above illustration):

  1. Pxelinux.0 requests and receives /boot/kernel from the TFTP server.

  2. Pxelinux.0 requests and receives /boot/initrd from the TFTP server.

  3. Pxelinux.0 requests and receives /boot/root from the TFTP server.

  4. Pxelinux.0 requests and receives /boot/updateDrivers.tgz from the TFTP server, but is denied because the file does not exist (it is used to provide post-release software updates).

Processes for ZENworks Third-Party Imaging:

  1. Pxelinux.0 requests and receives /boot/preboot.0 from the TFTP server.

  2. Pxeboot.0 requests and receives /boot/bootMgr.exe from the TFTP server.

  3. The boot manager loads /boot/bcd.

  4. The boot manager finally receives and loads /boot/boot.sdi and /boot/winpe.wim.

Phase 8

Figure 1-10 Phase 8 of the Preboot Services Process for ZENworks Imaging

Processes for ZENworks Imaging:

  1. SUSE Linux Enterprise Server (SLES) is loaded and run on the device.

  2. The ZENworks Imaging Engine (img) requests the assigned Preboot Services work details and performs the work.

  3. The image is laid down on the device and it automatically reboots.

Figure 1-11 Phase 8 of the Preboot Services Process for ZENworks Third-Party Imaging

Processes for ZENworks Third-Party Imaging:

  1. WinPE distro is loaded and run on the device.

  2. The Novell ZENworks Third Party Imaging utility requests the assigned Preboot Services work details and performs the work.

  3. The image is laid down on the device and it automatically reboots.