Hi Mike Yes you are right. This is a work-around for current tool limitation. We can remove such limitation after the tool has solution.
I will update the recovery file name to make it more readable. Thank you Yao Jiewen From: Kinney, Michael D Sent: Thursday, September 29, 2016 9:01 AM To: Yao, Jiewen <[email protected]>; [email protected]; Kinney, Michael D <[email protected]> Cc: Steele, Kelly <[email protected]>; Tian, Feng <[email protected]>; Zeng, Star <[email protected]>; Gao, Liming <[email protected]>; Zhang, Chao B <[email protected]> Subject: RE: [PATCH 37/45] QuarkPlatformPkg/dsc/fdf: add capsule generation DSC/FDF. Jiewen, This DSC/FDF generates a build failure for me from GenFds. I have entered a BaseTools bug into Bugzilla https://bugzilla.tianocore.org/show_bug.cgi?id=132 There is a workaround to create the file that is missing GenFds can work, so I was able to generate a Capsule Image for FW update and saw it work. My other major feedback on this DSC/FDF file is why this Content was not added to Quark DSC/FDF with #ifdef for RECOVERY_ENABLE and CAPSULE_ENABLE flags? Is the [Capsule.BiosCapsuleFmpRsa2048] section really the recovery image? Can we use Recovery in the name instead of Capsule? Thanks, Mike > -----Original Message----- > From: Yao, Jiewen > Sent: Tuesday, September 20, 2016 11:45 PM > To: [email protected]<mailto:[email protected]> > Cc: Kinney, Michael D > <[email protected]<mailto:[email protected]>>; Steele, Kelly > <[email protected]<mailto:[email protected]>>; Tian, Feng > <[email protected]<mailto:[email protected]>>; Zeng, Star > <[email protected]<mailto:[email protected]>>; Gao, Liming > <[email protected]<mailto:[email protected]>>; Zhang, Chao B > <[email protected]<mailto:[email protected]>> > Subject: [PATCH 37/45] QuarkPlatformPkg/dsc/fdf: add capsule generation > DSC/FDF. > > Add DSC/FDF to generate capsule image. > It is separated from normal DSC/FDF, because the FDF file need use > the result of final build. > > Cc: Michael D Kinney > <[email protected]<mailto:[email protected]>> > Cc: Kelly Steele <[email protected]<mailto:[email protected]>> > Cc: Feng Tian <[email protected]<mailto:[email protected]>> > Cc: Star Zeng <[email protected]<mailto:[email protected]>> > Cc: Liming Gao <[email protected]<mailto:[email protected]>> > Cc: Chao Zhang <[email protected]<mailto:[email protected]>> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jiewen Yao <[email protected]<mailto:[email protected]>> > --- > QuarkPlatformPkg/QuarkCapsule.dsc | 44 +++++++++++ > QuarkPlatformPkg/QuarkCapsule.fdf | 82 ++++++++++++++++++++ > 2 files changed, 126 insertions(+) > > diff --git a/QuarkPlatformPkg/QuarkCapsule.dsc > b/QuarkPlatformPkg/QuarkCapsule.dsc > new file mode 100644 > index 0000000..3785cbd > --- /dev/null > +++ b/QuarkPlatformPkg/QuarkCapsule.dsc > @@ -0,0 +1,44 @@ > +## @file > +# Clanton Peak CRB platform with 32-bit DXE for 4MB/8MB flash devices. > +# > +# This package provides Clanton Peak CRB platform specific capsule. > +# Copyright (c) 2016 Intel Corporation. > +# > +# This program and the accompanying materials > +# are licensed and made available under the terms and conditions of the BSD > License > +# which accompanies this distribution. The full text of the license may be > found at > +# http://opensource.org/licenses/bsd-license.php > +# > +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > IMPLIED. > +# > +## > + > +[Defines] > + PLATFORM_NAME = Quark > + PLATFORM_GUID = 3B9F8782-0799-450C-ACB3-2D8F4504810F > + PLATFORM_VERSION = 0.1 > + FLASH_DEFINITION = QuarkPlatformPkg/QuarkCapsule.fdf > + OUTPUT_DIRECTORY = Build/Quark > + SUPPORTED_ARCHITECTURES = IA32 > + BUILD_TARGETS = DEBUG|RELEASE > + SKUID_IDENTIFIER = DEFAULT > + > +###################################################################################### > ############# > +# > +# Components Section - list of the modules and components that will be > processed by > compilation > +# tools and the EDK II tools to generate > PE32/PE32+/Coff image > files. > +# > +# Note: The EDK II DSC file is not used to specify how compiled binary > images get > placed > +# into firmware volume images. This section is just a list of modules > to compile > from > +# source into UEFI-compliant binaries. > +# It is the FDF file that contains information on combining binary > files into > firmware > +# volume images, whose concept is beyond UEFI and is described in PI > specification. > +# Binary modules do not need to be listed in this section, as they > should be > +# specified in the FDF file. For example: Shell binary, FAT binary > (Fat.efi), > +# Logo (Logo.bmp), and etc. > +# There may also be modules listed in this section that are not > required in the > FDF file, > +# When a module listed here is excluded from FDF file, then > UEFI-compliant > binary will be > +# generated for it, but the binary will not be put into any firmware > volume. > +# > +###################################################################################### > ############# > diff --git a/QuarkPlatformPkg/QuarkCapsule.fdf > b/QuarkPlatformPkg/QuarkCapsule.fdf > new file mode 100644 > index 0000000..d9dac51 > --- /dev/null > +++ b/QuarkPlatformPkg/QuarkCapsule.fdf > @@ -0,0 +1,82 @@ > +## @file > +# FDF file of Clanton Peak CRB platform with 32-bit DXE > +# > +# This package provides QuarkNcSocId platform specific capsule. > +# Copyright (c) 2016 Intel Corporation. > +# > +# This program and the accompanying materials > +# are licensed and made available under the terms and conditions of the BSD > License > +# which accompanies this distribution. The full text of the license may be > found at > +# http://opensource.org/licenses/bsd-license.php > +# > +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, > +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR > IMPLIED. > +# > +## > + > +[FV.BiosUpdateCargo] > +FvAlignment = 16 > +ERASE_POLARITY = 1 > +MEMORY_MAPPED = TRUE > +STICKY_WRITE = TRUE > +LOCK_CAP = TRUE > +LOCK_STATUS = TRUE > +WRITE_DISABLED_CAP = TRUE > +WRITE_ENABLED_CAP = TRUE > +WRITE_STATUS = TRUE > +WRITE_LOCK_CAP = TRUE > +WRITE_LOCK_STATUS = TRUE > +READ_DISABLED_CAP = TRUE > +READ_ENABLED_CAP = TRUE > +READ_STATUS = TRUE > +READ_LOCK_CAP = TRUE > +READ_LOCK_STATUS = TRUE > + > +FILE RAW = AF9C9EB2-12AD-4D3E-A4D4-96F6C9966215 { > + $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/QUARK.fd > + } > + > +FILE RAW = ce57b167-b0e4-41e8-a897-5f4feb781d40 { > + $(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/CAPSULEDISPATCHFV.Fv > + } > + > +FILE RAW = 812136D3-4D3A-433A-9418-29BB9BF78F6E { > + > QuarkPlatformPkg/Feature/Capsule/SystemBiosUpdateConfig/SystemBiosUpdateConfig.ini > + } > + > +[FmpPayload.FmpPayloadBiosPkcs7] > +IMAGE_HEADER_INIT_VERSION = 0x02 > +IMAGE_TYPE_ID = 62af20c0-7016-424a-9bf8-9ccc86584090 # System > FMP special > Guid (do not change it) > +IMAGE_INDEX = 0x1 > +HARDWARE_INSTANCE = 0x0 > +MONOTONIC_COUNT = 0x2 > +CERTIFICATE_GUID = 4AAFD29D-68DF-49EE-8AA9-347D375665A7 # PKCS7 > + > +FILE DATA = > $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/BIOSUPDATECARGO.Fv > + > +[FmpPayload.FmpPayloadBiosRsa2048] > +IMAGE_HEADER_INIT_VERSION = 0x02 > +IMAGE_TYPE_ID = 62af20c0-7016-424a-9bf8-9ccc86584090 # System > FMP special > Guid (do not change it) > +IMAGE_INDEX = 0x1 > +HARDWARE_INSTANCE = 0x0 > +MONOTONIC_COUNT = 0x2 > +CERTIFICATE_GUID = A7717414-C616-4977-9420-844712A735BF # > RSA2048SHA256 > + > +FILE DATA = > $(WORKSPACE)/$(OUTPUT_DIRECTORY)/$(TARGET)_$(TOOL_CHAIN_TAG)/FV/BIOSUPDATECARGO.Fv > + > +[Capsule.BiosCapsuleFmpPkcs7] > +CAPSULE_GUID = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # FMP > special Guid > (do not change it) > +CAPSULE_FLAGS = PersistAcrossReset,InitiateReset > +CAPSULE_HEADER_SIZE = 0x20 > +CAPSULE_HEADER_INIT_VERSION = 0x1 > + > +FMP_PAYLOAD = FmpPayloadBiosPkcs7 > + > +[Capsule.BiosCapsuleFmpRsa2048] > +CAPSULE_GUID = 6dcbd5ed-e82d-4c44-bda1-7194199ad92a # FMP > special Guid > (do not change it) > +CAPSULE_FLAGS = PersistAcrossReset,InitiateReset > +CAPSULE_HEADER_SIZE = 0x20 > +CAPSULE_HEADER_INIT_VERSION = 0x1 > + > +FMP_PAYLOAD = FmpPayloadBiosRsa2048 > + > -- > 2.7.4.windows.1 _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

