Skip to content

Edk2 buildtools

Michael Kinney edited this page Apr 15, 2019 · 15 revisions
Clone this wiki locally

EDK II Build Tools Project

This project is for development of the EDK II Build Tools. This is the primary set of tools for processing EDK II content. It contains configuration templates and source files. The tools support a Makefile based EDK II build with no additional packages required--the compiler tool chain, an assembler and optional ACPI assembler are the only additional tools need to build the EDK II project.

Source code in this project is divided into two types:

  • Tools written in C (ANSI C) are primarily for tools that modify binary data structures
  • Tools based on Python (Python) are primarily for tools that parse or process text files
Tools must adhere to the following requirements:
  • Tools must be able to execute on a wide variety of operating systems.
  • Tools written in Python use Python Tools and get converted to Win32 executable binary files before they are added to the BaseTools directory in the EDK II project.
To assist developers working with the Python tools, Python has been provided, along with the Python tools for creating graphical user interfaces (wxPython) and tools for creating native executable files (cxFreeze and py2app) for Microsoft*, Linux*, and Mac OS/X*. Python and the supporting Python package are available via SVN (See Resources below).

Tested and Released binaries for Microsoft Windows* 32-bit operating system are checked into the EDK II project along with the configuration files. The BaseTools use an INI format for build Meta Data files. You do not need to down load this project to build EDK II with the BaseTools. Refer to the BuildNotes2.txt file for details on using the BaseTools for the build.

Download and setup guide: BuildTool Setup Guide

Project Info: Project Info ReadMe

Documentation User Manuals

View the EDK II Tools List for a description of each tool.



  • Changes for UDK2017 BaseTools Notes
  • Please see UDK2017 wiki page for more information on the latest release of Build Tools
UDK2015 :

Below Table are Releases for Archive purposes only

BuildTools Releases
Release Description Tools included in the release Documents
TAR .ZIP June 26, 2012 Primary set of tools for processing EDK II content.
  • BootSectImage
  • Build Utility
  • EfiLdrImage
  • EfiRom
  • Fpd2Dsc
  • GenBootSector
  • GenCrc32
  • GenDepex
  • GenFds
  • GenFfs
  • GenFv
  • GenFw
  • GenPage
  • GenPatchPcdTable
  • GenSec
  • GenVtf
  • UEFI Packaging Tool
  • LzmaCompress
  • Msa2Inf
  • PatchPcdValue
  • Spd2Dec
  • SplitFile
  • TargetTool
  • TianoCompress
  • Trim
  • VfrCompiler
  • VolInfo
Readme ReadMe.txt (baseTools) ReadMe.txt (Base Tools –gcc) ReadMe.txt (Base-Tools-config)
General documentation UDK2010.SR1.UP1 User Manuals Zip
Technical information
.TAR .ZIP Jan 2, 2012 Primary set of tools for processing EDK II content. Readme ReadMe.txt (baseTools) ReadMe.txt (Base Tools –gcc) ReadMe.txt (Base-Tools-config)
General documentation User Manuals Zip
Technical information


These tools are under constant development to ensure UEFI/PI specification conformance and to reduce build times.

Your Feedback is critical to making EDK II a success. Please submit any enhancements, defects, or requests through the the edk2-devel mailing list

Goto edk2-devel to Join the Mailing list

License information: BSD Plus Patent License

Project owner(s): See: Maintainers.txt