logo资料库

Preboot Execution Environment (PXE) Specification.pdf

第1页 / 共103页
第2页 / 共103页
第3页 / 共103页
第4页 / 共103页
第5页 / 共103页
第6页 / 共103页
第7页 / 共103页
第8页 / 共103页
资料共103页,剩余部分请下载后查看
Introduction
Structure of this Document
Related Documents
Wired for Management
BIOS Specifications
UUID Documents
Other PC System Documents
Data Types and Terms Used in This Guide
Required vs. Recommended Features
Overview
PXE Protocol
Deployment of servers
Deployment of Clients
PXE APIs
PXE Client / Server Protocol
Relationship to the Standard DHCP Protocol
Protocol Details
PXE Boot
Protocol Timeouts
Proxy DHCP
DHCP Tags used for PXE Protocol
Client Behavior
PXE Option Precedence
DHCPDISCOVER
DHCPOFFER
Boot Server Discovery
Boot Server Reply
Network Bootstrap Program (NBP) Download
NBP Authentication
Boot Server Credentials Reply
NBP Execution
NBP Execution for x86 PC/AT
MTFTP Operation
MTFTP listen
MTFTP open
MTFTP receive
MTFTP close
Server Behavior
Redirection Service Behavior
Response to DHCPDISCOVER
Boot Service Behavior
Response to DHCPREQUEST
TFTP Service
PXE APIs
PXE Installation Check
Real mode (Int 1Ah Function 5650h)
PXENV+ Structure
Protected mode (Scanning base memory)
!PXE Structure
PXE API Calling Convention
Early UNDI API Usage
PXE API Service Descriptions
Preboot API Service Descriptions
TFTP API Service Descriptions
UDP API Service Descriptions
UNDI API Service Descriptions
PXE Return Status Definitions
PXE Initial Program Load (IPL)
Overview
PXE Split ROM Architecture
PXE Option ROM Components
Option ROM header
Initialization Routine
IPL Routine
Loader Routine
UNDI Driver
PXE Boot Sequence
Option ROM Scan and Initialization
UNDI ROM Scan & Init
CardBus ROM Scan & Init
BC ROM Scan & Init
IPL Selection
UNDI Initial Program Load (IPL)
Scan UMB for BC Loader Routine
Enable BUSD
Call BC Loader Routine
Disable BUSD
BC Loader Routine
Base Memory Allocation
Switch to Runtime CPU Stack
Install & Start UNDI Driver
Install & Start BC
BC Runtime
Client State at Bootstrap Execution Time (Remote.0)
Client State at Bootstrap Execution Time (Remote.1)
Stop & Remove BC Runtime
Stop & Remove UNDI
Restore BIOS CPU Stack
Requirements on individual PXE participants
UNDI Option ROM
UNDI ROM ID Structure
UNDI Initialization Routine
UNDI Loader Routine
UNDI IPL Routine
UNDI Driver
UNDI Driver Carrying its own Base Code
BUSD Option ROM
BUSD ROM ID Structure
BUSD Initialization Routine
BUSD APIs
Base-Code (BC) Option ROM
Base-Code ROM ID Structure
Base-Code Initialization Routine
Base-Code Loader Routine
BC Runtime
Network Bootstrap Program
PXE BIOS Support
BIOS Support
BIOS Requirements
BIOS Recommendations
PXE Support
UUID Support
Reading table-based SYSID structures
Remote Wake Up Source
Detection
Bootstraps
Memory Management
POST Memory Manager
Boot Integrity Services
Preboot Execution Environment (PXE) Specification Version 2.1 September 20, 1999 Intel Corporation with special contributions from SYSTEMSOFT 
Preboot Execution Environment (PXE) Specification This document is for informational purposes only. INTEL MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. Intel Corporation may have patents or pending patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. The furnishing of this document does not give you any license to the patents, trademarks, copyrights, or other intellectual property rights except as expressly provided in any written license agreement from Intel Corporation. Intel does not make any representation or warranty regarding specifications in this document or any product or item developed based on these specifications. INTEL DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OR MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND FREEDOM FROM INFRINGEMENT. Without limiting the generality of the foregoing, Intel does not make any warranty of any kind that any item developed based on these specifications, or any portion of a specification, will not infringe any copyright, patent, trade secret or other intellectual property right of any person or entity in any country. It is your responsibility to seek licenses for such intellectual property rights where appropriate. Intel shall not be liable for any damages arising out of or in connection with the use of these specifications, including liability for lost profit, business interruption, or any other damages whatsoever. Some states do not allow the exclusion or limitation of liability or consequential or incidental damages; the above limitation may not apply to you. † Other product and corporate names may be trademarks of other companies and are used only for explanation and to the owners’ benefit, without intent to infringe. Copyright © 1998, 1999 Intel Corporation. All rights reserved. Version 2.1 September 20, 1999 Copyright © 1998, 1999 Intel Corporation. All rights reserved.
Preboot Execution Environment (PXE) Specification i 1. INTRODUCTION................................................................................................................................4 Table of Contents 1.1 1.2 Structure of this Document..........................................................................................................5 Related Documents .......................................................................................................................5 1.2.1 Wired for Management ..........................................................................................................5 BIOS Specifications................................................................................................................6 1.2.2 1.2.3 UUID Documents ...................................................................................................................6 Other PC System Documents .................................................................................................6 1.2.4 Data Types and Terms Used in This Guide................................................................................6 1.3 1.4 Required vs. Recommended Features ........................................................................................9 1.5 Overview......................................................................................................................................10 PXE Protocol ........................................................................................................................10 PXE APIs ..............................................................................................................................11 1.5.1 1.5.2 2. PXE CLIENT / SERVER PROTOCOL ..........................................................................................12 2.1 2.2 2.3 2.4 2.2.1 2.2.2 2.2.3 Relationship to the Standard DHCP Protocol .........................................................................12 Protocol Details ...........................................................................................................................12 PXE Boot...............................................................................................................................13 Protocol Timeouts.................................................................................................................15 Proxy DHCP .........................................................................................................................16 DHCP Tags used for PXE Protocol ..........................................................................................18 Client Behavior ...........................................................................................................................23 PXE Option Precedence .......................................................................................................23 2.4.1 DHCPDISCOVER................................................................................................................23 2.4.2 DHCPOFFER ......................................................................................................................24 2.4.3 Boot Server Discovery ..........................................................................................................25 2.4.4 Boot Server Reply .................................................................................................................26 2.4.5 Network Bootstrap Program (NBP) Download...................................................................28 2.4.6 NBP Authentication .............................................................................................................28 2.4.7 Boot Server Credentials Reply .............................................................................................29 2.4.8 2.4.9 NBP Execution .....................................................................................................................31 2.4.10 MTFTP Operation................................................................................................................31 Server Behavior ..........................................................................................................................35 Redirection Service Behavior...............................................................................................35 Boot Service Behavior ..........................................................................................................35 Response to DHCPREQUEST.............................................................................................35 2.5.1 2.5.2 2.5.3 2.5 3.1 3.2 3.3 3.4 3. PXE APIS ...........................................................................................................................................39 PXE Installation Check..............................................................................................................40 Real mode (Int 1Ah Function 5650h) .................................................................................40 PXENV+ Structure ...............................................................................................................40 Protected mode (Scanning base memory) ...........................................................................41 !PXE Structure .....................................................................................................................42 PXE API Calling Convention ....................................................................................................44 Early UNDI API Usage ..............................................................................................................45 PXE API Service Descriptions...................................................................................................47 Preboot API Service Descriptions........................................................................................47 TFTP API Service Descriptions...........................................................................................52 3.1.1 3.1.2 3.1.3 3.1.4 3.4.1 3.4.2 Version 2.1 September 20, 1999 Copyright © 1998, 1999 Intel Corporation. All rights reserved.
Preboot Execution Environment (PXE) Specification ii 3.4.3 3.4.4 UDP API Service Descriptions ............................................................................................55 UNDI API Service Descriptions ..........................................................................................57 PXE Return Status Definitions..................................................................................................69 3.5 4. PXE INITIAL PROGRAM LOAD (IPL)........................................................................................71 4.4 4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.1 Overview......................................................................................................................................71 PXE Split ROM Architecture....................................................................................................74 4.2 PXE Option ROM Components................................................................................................75 4.3 Option ROM header .............................................................................................................75 Initialization Routine ...........................................................................................................76 IPL Routine ..........................................................................................................................76 Loader Routine .....................................................................................................................76 UNDI Driver .........................................................................................................................76 PXE Boot Sequence ....................................................................................................................76 Option ROM Scan and Initialization...................................................................................77 UNDI Initial Program Load (IPL) ......................................................................................83 BC Loader Routine...............................................................................................................85 BC Runtime ..........................................................................................................................86 Client State at Bootstrap Execution Time (Remote.0)........................................................86 Client State at Bootstrap Execution Time (Remote.1)........................................................89 Requirements on individual PXE participants........................................................................90 UNDI Option ROM ..............................................................................................................90 BUSD Option ROM ..............................................................................................................93 Base-Code (BC) Option ROM..............................................................................................96 Network Bootstrap Program ................................................................................................98 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.5.1 4.5.2 4.5.3 4.5.4 4.5 5. PXE BIOS SUPPORT .......................................................................................................................99 5.1 5.2 5.1.1 5.1.2 BIOS Support..............................................................................................................................99 BIOS Requirements..............................................................................................................99 BIOS Recommendations ......................................................................................................99 PXE Support .............................................................................................................................100 UUID Support.....................................................................................................................100 5.2.1 Remote Wake Up Source....................................................................................................101 5.2.2 5.2.3 Bootstraps ...........................................................................................................................101 5.2.4 Memory Management ........................................................................................................101 5.2.5 Boot Integrity Services .......................................................................................................101 Version 2.1 September 20, 1999 Copyright © 1998, 1999 Intel Corporation. All rights reserved.
Preboot Execution Environment (PXE) Specification iii List of Tables Table 1-1 Data Type Definitions.................................................................................................................................. 9 Table 2-1 PXE DHCP Options (Full List) ................................................................................................................. 19 Table 2-2 DHCPDISCOVER Packet to DHCP/Proxy DHCP Server ........................................................................ 24 Table 2-3 DHCPOFFER Packet from DHCP/Proxy DHCP Server........................................................................... 25 Table 2-4 Boot Server Request Packet....................................................................................................................... 26 Table 2-5 Boot Server ACK Packet ........................................................................................................................... 27 Table 2-6 Boot Server Credentials Request Packet.................................................................................................... 29 Table 2-7 Boot Server Credentials ACK Packet ........................................................................................................ 30 Table 2-8 DHCP/Proxy DHCPACK to Boot Service ................................................................................................ 37 Table 3-1 PXENV+ Structure .................................................................................................................................... 41 Table 3-2 !PXE Structure........................................................................................................................................... 43 Table 4-1 Option ROM Header for PXE ROMs........................................................................................................ 76 Table 4-2 Memory Map after video initialization ...................................................................................................... 78 Table 4-3 Memory Map after UNDI ROM Transferred to UMB from BIOS ROM.................................................. 79 Table 4-4 Memory Map after UNDI ROM Initialized ............................................................................................... 80 Table 4-5 Memory Map after BUSD ROM Transferred to UMB from BIOS ROM ................................................. 81 Table 4-6 Memory Map after BUSD ROM Initialized .............................................................................................. 81 Table 4-7 Memory Map after BC ROM Transferred to UMB from BIOS ROM ...................................................... 82 Table 4-8 Memory Map after BC Option ROM Initialized........................................................................................ 83 Table 4-9 Memory Map after PXE BC Runtime Loaded........................................................................................... 86 Table 4-10 Memory Map after REMOTE.0 Downloaded ......................................................................................... 88 Table 4-11 Memory Map after REMOTE.1 Downloaded ......................................................................................... 89 Table 4-12 Memory Map after REMOTE.1 Started .................................................................................................. 90 Table 4-13 UNDI ROM ID Structure ........................................................................................................................ 91 Table 4-14 BUSD ROM ID Structure........................................................................................................................ 94 Table 4-15 BC ROM ID Structure ............................................................................................................................. 97 Table 5-1 Format of SYSID Entry Point Structure .................................................................................................. 100 Table 5-2 Format of the SYSID BIOS structures..................................................................................................... 100 Table 5-3 Format of the UUID BIOS structure........................................................................................................ 100 List of Figures Figure 1-1 PXE APIs ................................................................................................................................................. 11 Figure 2-1 PXE Boot ................................................................................................................................................. 13 Figure 2-2 PXE Client Timeouts................................................................................................................................ 16 Figure 2-3 PXE Client Response to DHCP Server Containing a Proxy DHCP Service ............................................ 17 Figure 2-4 PXE Client Response to DHCP Server Supplying Boot Service Discovery Code ................................... 18 Figure 2-5 MTFTP Listen .......................................................................................................................................... 32 Figure 2-6 MTFTP Open ........................................................................................................................................... 33 Figure 2-7 MTFTP Receive ........................................................................................................................................ 34 Figure 3-1 PXE Stack–Before and After Remote Boot.............................................................................................. 39 Figure 3-2 PXE API Calling Sequence ...................................................................................................................... 45 Figure 3-3 Early UNDI API Usage ............................................................................................................................ 46 Figure 3-4 Unloading the base code........................................................................................................................... 48 Figure 3-5 Interrupt Service Routine Operation......................................................................................................... 68 Figure 4-1 Pre-Split ROM PXE Architecture ............................................................................................................ 74 Figure 4-2 Split Base Code and UNDI Code ............................................................................................................. 75 Figure 4-3 PXE IPL ................................................................................................................................................... 77 Figure 4-4 UNDI Option ROM Initialization............................................................................................................. 79 Figure 4-5 Base-Code Option ROM Initialization ..................................................................................................... 82 Figure 4-6 UNDI Option ROM Boot ......................................................................................................................... 85 Version 2.1 September 20, 1999 Copyright © 1998, 1999 Intel Corporation. All rights reserved.
Preboot Execution Environment (PXE) Specification 4 1. Introduction A common problem faced by IT managers is to ensure that client systems in their enterprises can boot appropriate software images using appropriate configuration parameters. These selected boot images and configuration parameters must be acquired from selected servers in the enterprise as dictated by the needs of the particular environment, the capabilities or mission of the user, the resources available within the client, etc. Furthermore, these clients should boot consistently and in an interoperable manner regardless of the sources or vendors of the software and the hardware of both client and server machines. This goal can be accomplished only through a uniform and consistent set of pre-boot protocol services within the client that ensure that network-based booting is accomplished through industry standard protocols used to communicate with the server. In addition, to ensure interoperability, the downloaded Network Bootstrap Program (NBP) must be presented with a uniform and consistent pre-boot operating environment within the booting client, so it can accomplish its task independent of, for example, the type of network adapter implemented in the system. This capability is useful in enhancing the manageability of the client machine in several situations; for example: ! Remote new system setup. If the client does not have an OS installed on its hard disk, or the client has no hard disk at all, downloading an NBP from a server can help automate the OS installation and other configuration steps. ! Remote emergency boot. If the client machine fails to boot due to a hardware or software failure, downloading an executable image from a server can provide the client with a specific executable that enables remote problem notification and diagnosis. ! Remote network boot. In instances where the client machine has no local storage, it can download its system software image from the server in the course of normal operation. This document specifies the Preboot Execution Environment (PXE). PXE embodies three technologies that will establish a common and consistent set of pre-boot services within the boot firmware of Intel Architecture systems: ! A uniform protocol for the client to request the allocation of a network address and subsequently request the download of an NBP from a network boot server. ! A set of APIs available in the machine’s pre-boot firmware environment that constitutes a consistent set of services that can be employed by the NBP or the BIOS. ! A standard method of initiating the pre-boot firmware to execute the PXE protocol on the client machine. In summary, using the capabilities described above, a newly installed networked client machine should be able to enter a heterogeneous network, acquire for itself a network address from a DHCP server, and then download an NBP to set itself up. This sets the stage to enable IT managers to customize the manner in which their network client machines go through a network-based booting process. Version 2.1 September 20, 1999 Copyright © 1998, 1999 Intel Corporation. All rights reserved.
Preboot Execution Environment (PXE) Specification 5 1.1 Structure of this Document This document is organized in a top down manner from the point of view of the PXE client “boot behavior”. This section contains an overview. The next two sections specify the external behavior of PXE in platform architecture independent terms, so both sections specify the functionality PXE provides, and are of interest to all system providers regardless of platform or BIOS type. The last two sections specify implementation details and required platform support for PXE in the Intel Architecture PC platform. Section 2 begins with a description of the network protocol used by the booting PXE client and the Redirection and Boot servers that provide the client with boot information and files. This section covers the network visible behavior of PXE and is defined in terms of network protocol. Section 3 describes the PXE APIs available to the boot program(s) downloaded from the Boot Server. This section specifies the standard interface provided by PXE to the downloaded boot program. With the exception of finding the API entry point, this section is platform architecture independent. Section 4 specifies the procedure a standard Intel Architecture PC BIOS uses to find and load the boot ROM code (the PXE Initial Program Load) and the PXE loader behavior in this environment. Section 5 PXE BIOS Support, specifies the BIOS support required to support PXE in a standard Intel® Architecture PC. Three new capabilities, described for the first time in this document, have been added to the PXE specification: ! Boot Server Discovery. ! Protected Remote Boot. ! The ability to split PXE Base Code and UNDI code into separate ROMs. 1.2 Related Documents After referring to a related specification the first time, this document uses the [TAG] reference from this section to refer to related specifications. 1.2.1 Wired for Management [WFM] Wired for Management (WfM) Baseline Version 2.0, December 23, 1998 http://developer.intel.com/ial/wfm/wfmspecs.htm PXE PDK http://www.intel.com/ial/wfm/tools/pxe/index.htm PXE Powerpoint Presentation http://www.intel.com/ial/wfm/class/index.htm Version 2.1 September 20, 1999 Copyright © 1998, 1999 Intel Corporation. All rights reserved.
Preboot Execution Environment (PXE) Specification 6 Boot Integrity Services API Specification Version 1.0 http://www.intel.com/ial/wfm/wfmspecs.htm [BIS] 1.2.2 BIOS Specifications System Management BIOS Reference Specification Version 2.2, March 16, 1998 ftp://download.intel.com/ial/wfm/smbios.pdf http://www.phoenix.com/techs/specs.html BIOS Boot Specification Version 1.01, January 11, 1996 http://www.phoenix.com/techs/specs.html POST Memory Manager Specification Version 1.01, January 8, 1998 http://www.phoenix.com/techs/specs.html Plug and Play BIOS Specification Version 1.0A, May 5, 1994 http://www.phoenix.com/techs/specs.html 1.2.3 UUID Documents CAE Specification DCE 1.1: Remote Procedure Call Document Number: C706 Universal Unique Identifier Appendix Copyright (c) 1997 The Open Group http://www.opengroup.org/onlinepubs/9629399/toc.htm 1.2.4 Other PC System Documents PC 9x System Design Guide, v1.0 http://developer.intel.com/design/pc98 Network PC Design Guidelines, v1.0b http://developer.intel.com/design/netpc/netovr.htm ftp://download.intel.com/ial/wfm/netpc.pdf [SM BIOS] [BBS] [PMM] [PnP BIOS] [UUID] [PC98] [NETPC] 1.3 Data Types and Terms Used in This Guide The following conventions and terms are used in this specification: !PXE BAID Acronym for the !PXE structure. This structure is used by protocol drivers that need to locate and use PXE services. Acronym for a BIOS Aware IPL Device. The BIOS contains all code required to IPL from the device. Base Memory The first 640K bytes of memory in the system. BCV Acronym for Boot Connection Vector. A field in the PnP header for a device with an associated option ROM Version 2.1 September 20, 1999 Copyright © 1998, 1999 Intel Corporation. All rights reserved.
分享到:
收藏