11.3 Capsules
This section describes the processing of the EFI files generated by the $(MAKE) Stage into Update Capsules. Capsule images contain a Fv Image or a FFS file to be updated.
The [Capsule]
section in FDF file is parsed to get:
- Capsule Header information, including: Capsule GUID, flags and header size.
- Capsule content may be either a Fv Image or a FFS file.
A Fv Image may be specified using any FV section described in this FDF file. It
will be generated same using the process described in Section 10.4.
Additionally, an existing FV file created as part of an FD image may be used.
These FV files can be directly integrated into a Capsule. Raw data (non-FFS
files) can be included in a FV file, using EFI_FV_FILETYPE_RAW
.
The FFS file contains EFI section files (see Table 2 for a list of
EFI_SECTION
types. All files generated by the $(MAKE) stage, will have the
output located in a build directory, either at the top of:
$(OUTPUT_DIRECTORY)/$(PLATFORM_NAME)/<BuildTarget>_<ToolChainTag>/$(ARCH)
or a sub-directory created that replicates the INF file path. All EFI section
files and encapsulated section files are created based on their description in
FDF file. For a binary or raw file type, the raw data can be any binary file.
One FV image or one FD image described in FV section or FD sections of the FDF
file may also be treated as RAW data. The process of creating a FV image is
described in Section 10.4, the process of creating a FD image is described in
Section 10.5.
The $(MAKE) stage creates EFI files. During the ImageGen stage, GenFds will
create the required FFS files and FV images based on [Capsule]
description in
the FDF file. Finally, the capsule header will be prefixed to the capsule data
to construct the complete capsule. The overview of the Capsule creation process
is shown in Figure 23: