* Re: [edk2-devel] ‘EmbeddedDrivers’ option in Capsule file.
2022-07-22 3:50 ‘EmbeddedDrivers’ option in Capsule file gordontcp
@ 2022-07-22 15:44 ` Michael D Kinney
2022-07-26 10:02 ` gordontcp
0 siblings, 1 reply; 3+ messages in thread
From: Michael D Kinney @ 2022-07-22 15:44 UTC (permalink / raw)
To: devel@edk2.groups.io, gordontcp@gmail.com, Jin, Eric,
Kinney, Michael D
[-- Attachment #1: Type: text/plain, Size: 2873 bytes --]
Hi,
+ Eric Jin
This is a good question.
GenerateCapsule.py can take input arguments from command line or a JSON file.
I think you have found a case where these two input options do not have identical behavior.
* If EmbeddedDrivers are not provided through command line, then no warning is printed.
* If EmbeddedDrivers section is missing from JSON file, then a warning is printed.
It is a warning and not an error, so I think this warning can be safely ignored.
If you do not want to see the warning, then you can add an empty EmbeddedDrivers
section to the JSON file.
I have added Eric Jin to this thread who added the JSON input feature to GenerateCapsule.py.
He should be able to clarify if EmbeddedDriver section is considered required when using
the JSON input format.
For your specific questions:
1. Embedded drivers is not required
2. For your use case EmbeddedDrivers should be empty
3. No updates to Vlv2TbltDevicePkg should be required.
Best regards,
Mike
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of gordontcp@gmail.com
Sent: Thursday, July 21, 2022 8:50 PM
To: devel@edk2.groups.io
Subject: [edk2-devel] ‘EmbeddedDrivers’ option in Capsule file.
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!
[-- Attachment #2: Type: text/html, Size: 57675 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread