This document describes the EDK II Build Architecture. This specification was designed to support new build requirements for building EDK II modules and EDK components within the EDK II build infrastructure as well as to generate binary firmware images and Unified Extensible Firmware Image (UEFI) applications.
EDK II Build utilities described in this document use INI style text based meta-data files to describe components, modules, libraries, platforms, firmware volumes and firmware device images.
This document describes the high level EDK II Build Architecture, which has the following goals:
The EDK II build environment must maintain backward compatibility with the existing EDK files. This means that the changes made to this specification must not require changes to existing files.
Compatibility is maintained by providing the EDK Tools in the EDK Compatibility package. Also, some INF files may require modification for the EDK II build environment if they are used to access Flash firmware - the PI 1.0 specification modified the flash data structures and defined some new GUID values.
EDK II Build system tools must test the format of the EDK II meta-data files. The EDK II build tools must provide an error if, during parsing of the EDK II meta-data files, a version of the files is encountered that is higher than the version of the files that the tools support.
Simplified platform build and configuration
One goal of this format is to simplify the build setup and configuration for a given platform. It was also designed to simplify the process of adding EDK and EDK II firmware components to a firmware volume on a given platform.
The EDK II Build infrastructure supports building UEFI 2.5 and PI 1.4 compliant platforms. Existing EDK components may need to be updated to align with these specifications.
This document is intended for persons performing EFI development and support for different platforms.