• 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

Figures

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


Figures

  • Figure 1 UEFI/PI Firmware Image Creation
  • Figure 2 EFI PCI Expansion Option ROM and UEFI Application Creation
  • Figure 3 PI Firmware Phases
  • Figure 4 NT32 Flash Device Layout
  • Figure 5 Typical IA32/X64 Flash Device Layout
  • Figure 6 Typical IPF FD Layout
  • Figure 7 General EFI Section Format (< 16MB)
  • Figure 8 General EFI Section Format for Large Size Sections.
  • Figure 9 Typical FFS File Layout (<16MB)
  • Figure 10 File Header 2 layout for files larger than 16Mb
  • Figure 11 General FV Layout
  • Figure 12 Standard Image to Terse Image Comparison
  • Figure 13 EFI Image Files
  • Figure 14 Depex File
  • Figure 15 Firmware Volume Layout
  • Figure 16 EFI PCI Expansion Option ROM layout
  • Figure 17 EFI Capsule Layout
  • Figure 18 EDK II Platform Build Process Flow
  • Figure 19 EDK II AutoGen Process
  • Figure 20 EDK II Build Process - Platform Point of View (PoV)
  • Figure 21 EDK II Build Process - Module PoV
  • Figure 22 FD Image Generation Process
  • Figure 23 Capsule Creation Process.
  • Figure 24 Report.html
  • Figure 25 VS2005 Property Page
  • Figure 26 VS2005 Performance Summary
  • Figure 27 VS2005 Call Tree View

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