28.4 The Preboot Services Processes

The following sections explain how the Preboot Services processes work:

28.4.1 A Typical Preboot Services Operation

A typical Preboot Services operation flows as follows:

  1. A Preboot bundle is created in the 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. The novell-proxydhcp daemon 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 downloads the Linux Management imaging environment from the server so that the it can be booted to Linux.

  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 30.1.2, Performing Manual Imaging Tasks.

28.4.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 28-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 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 28-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 28-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 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 28-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 28-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 Preboot Services Menu configuration from the Data Model via the novell-zmgprebootpolicy daemon.

  3. The novell-zmgprebootpolicy daemon returns the 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 28-6 Phase 4 of the Preboot Services Process

Processes:

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

  2. Assuming work is assigned, the novell-zmgprebootpolicy daemon responds with the name of the configuration file to use in performing the preboot work (z_auto.cfg in this example).

Phase 5

Figure 28-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 28-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.

  2. The TFTP server sends the z_auto.cfg file to the device.

Phase 7

Figure 28-9 Phase 7 of the Preboot Services Process

Processes:

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

  2. Pxelinux.0 requests and receives /boot/initid 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).

Phase 8

Figure 28-10 Phase 8 of the Preboot Services Process

Processes:

  1. SUSE Linux Enterprise Server (SLES) 9 SP1 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.