1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in


From tianocore

Revision as of 01:12, 11 August 2011 by Jcarsey (Talk | contribs)
Jump to: navigation, search

EDK II Build Tools sub project

This sub 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 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

Source repository: BaseTools

Developers: Project Info

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


BuildTools Releases
Release What is it? What’s in the package Documents



28 Feb 2011

Primary set of tools for processing EDK II content.
  • BootSectImage
  • Build
  • EfiLdrImage
  • EfiRom
  • GenBootSector
  • GenDepex
  • GenFds
  • GenFfs
  • GenFV
  • GenFw
  • GenPage
  • GenPatchPcdTable
  • GenSec
  • GenVtf
  • LzmaCompress
  • PatchPcdValue
  • Spd2Dec
  • Split
  • TargetTool
  • TianoCompress
  • Trim
  • VfrCompile
  • VolInfo.exe


ReadMe.txt (baseTools)

README.txt (Base Tools –gcc)

ReadMe.txt (Base-Tools-config)

ReadMe.txt (Conf)

General documentation


Technical information


Additional Resources are available via Subversion (SVN,) and include 32-bit versions of Python, wxPython, cxFreeze and py2app that have been used for developing text processing applications in the BaseTools Sub-Project.

Microsoft* Windows* Subversion URL: http://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/DevelopmentTools/PythonPkgs/Win32

Linux* Subversion URL: http://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/DevelopmentTools/PythonPkgs/Linux

Apple* OS/X Subversion URL: http://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/DevelopmentTools/PythonPkgs/Mac_OS_X

All of the Python tools located in the BaseTools sub-project are built and tested using:

  • Python 2.5.4
  • wxPython 2.8.1 Unicode (GUI tools only)
  • cxFreeze 3.0.3 (Windows and Linux)
  • py2app 0.3.5 (Mac OS/X)

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 Project Tracker Tool at Reporting Issues.

License information: BSD

Project owner(s): jcarsey, lhauch

Personal tools