• EDK II Build Specification
  • Tables
  • Figures
  • 1 Introduction
    • 1.1 Overview
    • 1.2 Target Audience
    • 1.3 Terms
    • 1.4 Related Information
    • 1.5 Conventions Used in this Document
  • 2 Design Discussion
    • 2.1 Development Environments
    • 2.2 UEFI/PI Firmware Images
    • 2.3 Boot Sequence
    • 2.4 Typical Flash Part Layout
    • 2.5 Generic Build Process
    • 2.6 Creating EFI Images
    • 2.7 SKU Support
  • 3 UEFI and PI Image Specification
  • 4 EDK II Build Process Overview
    • 4.1 EDK II Build System
    • 4.2 Build Process Overview
    • 4.3 Pre-Build Stage Overview
    • 4.4 Creating Binary EFI Images - $(MAKE) stage
    • 4.5 Post-Build Stage
    • 4.6 File Specifications
    • 4.7 File Extensions
  • 5 Meta-Data File Specifications
    • 5.1 Build Meta-Data File Formats
    • 5.2 tools_def.txt
    • 5.3 target.txt File
  • 6 Quick Start
    • 6.1 Environment Variables
    • 6.2 Build Scope
  • 7 Build Environment
    • 7.1 Build Scope
    • 7.2 Third Party Tools
    • 7.3 GUIDed Tools
  • 8 Pre-Build AutoGen Stage
    • 8.1 Overview
    • 8.2 Auto-generation Process
    • 8.3 Auto-generated code
    • 8.4 Auto-generated PCD Database File
    • 8.5 Auto-generated Makefiles
    • 8.6 Binary Modules
    • 8.7 Generated AsBuilt INF Files
  • 9 Build or $(MAKE) Stage
    • 9.1 Overview
    • 9.2 Preprocess/Trim
    • 9.3 Compile/Assembly
    • 9.4 Static Link
    • 9.5 Dynamic Link
    • 9.6 Generate Module Images
    • 9.7 Generate Platform Images
  • 10 Post-Build ImageGen Stage - FLASH
    • 10.1 Overview of Flash Device Layout
    • 10.2 Parsing FDF Meta-Data File
    • 10.3 Build Intermediate Images
    • 10.4 Create the FV Image File(s)
    • 10.5 Create the FD image file(s)
    • 10.6 Post Build Processing
  • 11 Post-Build ImageGen Stage - Other
    • 11.1 EFI PCI Option ROM Images
    • 11.2 UEFI Applications
    • 11.3 Capsules
  • 12 Build Changes and Customizations
    • 12.1 Building for Debug
    • 12.2 Adding Custom Compression Tools
    • 12.3 Using Custom Build Tools
    • 12.4 Customizing Compilation for a Component
    • 12.5 Platform Specific ASL Tools
    • 12.6 Build Reproducibility
  • 13 Build Reports
    • 13.1 Build Report Generation Options
    • 13.2 Sample Launch Steps: NT32 platform
    • 13.3 Output
    • 13.4 Platform Summary
    • 13.5 Mixed PCD Section
    • 13.6 Global PCD Section
    • 13.7 FD Section
    • 13.8 Module Section
    • 13.9 Execution Order Prediction Section
  • Appendix A Variables
  • Appendix B tools_def.txt
  • Appendix C target.txt
  • Appendix D build.exe command
    • D.1 Overview
    • D.2 Makefile actions
    • D.3 Build Targets and options
    • D.4 Usage
  • Appendix E NT32 Platform Emulation
  • Appendix F Firmware Volume INF
    • F.1 Firmware Volume INF Description
    • F.2 [Attributes] Section
    • F.3 [Files] Section
    • F.4 [Options] Section
  • Appendix G VS2005 Team Suite Performance
    • G.1 Step 1 - Create a new project
    • G.2 Step 2 - Update the project
  • Appendix H Module Types
  • Appendix I VPD Tool
    • I.1 Build System Output File Format
    • I.2 VPD Tool Map File Format
  • Appendix J Makefiles
    • J.1 NMAKE Module Makefile Format
  • Appendix K Third Party Tool Flags
  • Published with GitBook

Tables

EDK II Build Specification
DRAFT [04/30/2025 11:31:29]
Revision 1.28


Tables

  • Table 1 EDK Build Infrastructure Support Matrix
  • Table 2 EFI Section Types
  • Table 3 Defined FV File Types
  • Table 4 Basic EFI_SECTION Type Codes
  • Table 5 Encapsulation EFI_SECTION Type Codes
  • Table 6 Dependency Section Type Codes
  • Table 7 Predefined Command Codes
  • Table 8 Predefined Attributes
  • Table 9 System Environment Variable Usage
  • Table 10 Reserved Macros Expanded by Tools
  • Table 11 Reserved FDF [Rule] Section Macro Strings
  • Table 12 Operator Precedence and Supported Operands
  • Table 13: [Depex] Expression Operator Precedence
  • Table 13: [Depex] Expression Operator Precedence
  • Table 14 AutoGen Stage Input File Extensions
  • Table 15 VFR Compatibility Matrix
  • Table 16 Access Method Section Tags
  • Table 17 $(MAKE) Stage Intermediate Output File Extensions
  • Table 18 $(MAKE) Stage Output File Extensions
  • Table 19 GenFds Image Generation: Intermediate File Extensions
  • Table 20 ImageGen Final Output File Extensions
  • Table 21 Variable Descriptions
  • Table 22 Build Targets and Command-line Options
  • Table 23 EDK II Module Types
  • Table 24 Standard C File Compiler Options
  • Table 25 Assembly Flags
  • Table 26 C Compiler's Preprocessor Options
  • Table 27 C Compiler's Preprocessor Options for VFR files ONLY
  • Table 28 Pre-compiled Header (PCH) Creation Flags
  • Table 29 Static Linker Flags
  • Table 30 Dynamic Linker Flags

EDK II Build Specification
DRAFT [04/30/2025 11:31:29]
Revision 1.28