1.1 Overview
This document describes the EDK II Platform Description file (DSC) format. The EDK Build Tools are included as part of the EDK II compatibility package. In order to use EDK II Modules or the EDK II Build Tools, an EDK II DSC and FDF file must be used.
EDK II tools use INI style text based files to describe components, platforms and firmware volumes. While similar to EDK DSC files, the EDK II DSC file format is different, and new utilities have been provided to process these files.
The EDK II Build Infrastructure supports creation of binary images that comply with Unified EFI (UEFI) 2.5 and UEFI Platform Infrastructure (PI) 1.4 specifications.
This design has the following goals.
Compatible
The EDK II DSC format does not support EDK DSC format, nor can EDK tools be used to parse the EDK II DSC format files. The EDK II DSC Format must maintain backward compatibility for supporting existing EDK INF file formats. This means that the changes made to this specification do not require changes for standard INF files.
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 II firmware components to a firmware volume on a given platform.
Table 1 describes the compatibility between platform, module and component builds.
Table 1 EDK Build Infrastructure Support Matrix
EDK DSC | EDK II DSC | EDK FDF | EDK II FDF | EDK INF | EDK II INF | |
---|---|---|---|---|---|---|
EDK Build Tools | YES | NO | YES | NO | YES | NO |
EDK II Build Tools | NO | YES | NO | YES | YES | YES |
Note: This document is intended for persons doing EFI development and support for different platforms. It is most likely only of interest in the event that there is a problem with a build, or if a developer needs to perform special customizations of a build for a platform. This document is most likely only of interest in the event that there is a problem with a build, or if a developer needs to perform special customizations of a build for a platform.
The EDK II build processes, defined in the EDK II Build Specification, use separate steps to create EFI images. The EDK II DSC file is used in conjunction with EDK II Flash Description files (FDF), EDK II DEC, EDK II module INF and EDK component INF files to generate binary PE32/PE32+/Coff files. The EDK II Makefiles, generated by the EDK II parsing tool, contain only enough instructions to build the PE32/PE32+/Coff image files. These makefiles do not contain information on the EFI format for FFS or FV file creation. The Makefiles will support third party compilation tools - Microsoft, Intel and GCC tool chains - and at least one EDK II tool, GenFw. The GenFw tool is used to manipulate the files emitted from the compilation tools.
The EDK II build provides UEFI and PI (Unified EFI, Inc.) specification-compliant images. Use of the tools in the EDK Compatibility package can be used for creating earlier versions of EFI 1.10 and/or UEFI 2.0 compliant components. To be clear, EDK II tools do not have the limitation of ECP tools, which can only do EFI 1.10 and UEFI 2.0 images.