Hi all,
I can generate Red1.cap capsule file from GenerateCapsule.py of edk2, and execute CapsuleApp Red1.cap on Minnowboard to complete the process of capsule update.
Build capsule file command:
\BaseTools\Source\Python\Capsule>GenerateCapsule.py -e -j red1.json -o red1.cap --capflag PersistAcrossReset --capflag InitiateReset
where red1.json is

{
"Payloads": [
{
"Dependencies": "FALSE",
"FwVersion": "16",
"Guid": "72E2945A-00DA-448E-9AA7-075AD840F9D4",
"HardwareInstance": "0",
"LowestSupportedVersion": "0",
"MonotonicCount": "0",
"Payload": "red.bin",
"UpdateImageIndex": "1",
"OpenSslSignerPrivateCertFile": "TestCert.pem",
"OpenSslOtherPublicCertFile": "TestSub.pub.pem",
"OpenSslTrustedPublicCertFile": "TestRoot.pub.pem",
"SigningToolPath": "C:\\OpenSSL\\bin",
"Dependencies": "FALSE"
}
]
}

My system: Minnowboard Max.
My system FW source code: \edk2-platforms\Platform\Intel\Vlv2TbltDevicePkg

However, when GenerateCapsule.py is executed, there will be the following warning:
GenerateCapsule: warning "EmbeddedDrivers" section not found in JSON file red1.json

My questions are:

  1. Is the ‘EmbeddedDrivers’ option in the Capsule file necessary?
  2. Should ‘EmbeddedDrivers’ parameter be assigned to ‘FmpDxe.efi’? or assigned to ‘SystemFirmwareUpdateDxe.efi’(in SignedCapsulePkg)?
  3. I use Minnowboard as the operating environment. If ‘EmbeddedDrivers’ option is added to the Capsule file, should I need to make corresponding changes in Vlv2TbltDevicePkg?

Any advice is greatly appreciated!
Thanks!