From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: yi.qian@intel.com) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by groups.io with SMTP; Thu, 09 May 2019 06:21:37 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 May 2019 06:21:36 -0700 X-ExtLoop1: 1 Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 09 May 2019 06:21:36 -0700 Received: from fmsmsx113.amr.corp.intel.com (10.18.116.7) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 9 May 2019 06:21:36 -0700 Received: from shsmsx105.ccr.corp.intel.com (10.239.4.158) by FMSMSX113.amr.corp.intel.com (10.18.116.7) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 9 May 2019 06:21:35 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.249]) by SHSMSX105.ccr.corp.intel.com ([169.254.11.10]) with mapi id 14.03.0415.000; Thu, 9 May 2019 21:21:33 +0800 From: "Qian, Yi" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Sun, Zailiang" Subject: Re: [Patch 15/16] Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS generation scripts Thread-Topic: [Patch 15/16] Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS generation scripts Thread-Index: AQHVBiAVM5QTRo7/60+sMHB61jCpgaZix/bg Date: Thu, 9 May 2019 13:21:33 +0000 Message-ID: References: <20190509043111.15272-1-michael.d.kinney@intel.com> <20190509043111.15272-16-michael.d.kinney@intel.com> In-Reply-To: <20190509043111.15272-16-michael.d.kinney@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: yi.qian@intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed by Qian, Yi Thanks QianYi -----Original Message----- From: Kinney, Michael D=20 Sent: Thursday, May 9, 2019 12:31 PM To: devel@edk2.groups.io Cc: Sun, Zailiang ; Qian, Yi Subject: [Patch 15/16] Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS generatio= n scripts Add batch scripts to generate the LVFS compatible capsule update driver. Add DSC/FDF files to build capsules and invoke post build shell scripts fo= r Linux build environments. Make versions consistent. Cc: Zailiang Sun Cc: Yi Qian Signed-off-by: Michael D Kinney --- .../Capsule/GenerateCapsule/GenCapsuleAll.bat | 12 +- .../Capsule/Gener= ateCapsule/GenCapsuleAll.sh | 28 ++++ .../GenerateCapsule/GenCapsuleMinnowMax.bat | 4 +- .../GenerateCapsule/GenCapsuleMinnowMax.sh | 65 ++++++++ .../GenCapsuleMinnowMaxRelease.bat | 4 +- .../GenCapsuleMinnowMaxRelease.sh | 65 ++++++++ .../GenerateCapsule/GenCapsuleSampleColor.sh | 70 +++++++++ .../Featur= e/Capsule/GenerateCapsule/Lvfs.ddf | 14 ++ .../LvfsGenCapsuleMinnowMax.bat | 139 +++++++++++++++++ .../LvfsGenCapsuleMinnowMaxRelease.bat | 139 +++++++++++++++++ .../LvfsGenCapsuleSampleColor.bat | 145 ++++++++++++++++++ .../GenerateCapsule/template.metainfo.xml | 27 ++++ Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc | 38 +++++ 13 files changed, 743 insertions(+), 7 deletions(-) create mode 100644 V= lv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenC= apsuleMinnowMax.sh create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenC= apsuleMinnowMaxRelease.sh create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenC= apsuleSampleColor.sh create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs= .ddf create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs= GenCapsuleMinnowMax.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs= GenCapsuleMinnowMaxRelease.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs= GenCapsuleSampleColor.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/temp= late.metainfo.xml create mode 100644 Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleA= ll.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.ba= t index 187797e284..8f589565fa 100644 --- a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.ba +++ t @@ -24,6 +24,12 @@ copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015= x86\X64\CapsuleApp.efi %W =20 call GenCapsuleMinnowMax.bat call GenCapsuleMinnowMaxRelease.bat -call GenCapsuleSampleColor.bat Blue 149DA854-7D19-4FAA-A91E-862EA1324BE6 -call GenCapsuleSampleColor.bat Green 79179BFD-704D-4C90-9E02-0AB8D968C18A -call GenCapsuleSampleColor.bat Red 72E2945A-00DA-448E-9AA7-075AD840F9D4 +call GenCapsuleSampleColor.bat Blue +149da854-7d19-4faa-a91e-862ea1324be6 +call GenCapsuleSampleColor.bat Green 79179bfd-704d-4c90-9e02-0ab8d968c18a +call GenCapsuleSampleColor.bat Red 72e2945a-00da-448e-9aa7-075ad840f9d4 + +call LvfsGenCapsuleMinnowMax.bat +call LvfsGenCapsuleMinnowMaxRelease.bat +call LvfsGenCapsuleSampleColor.bat Blue +149da854-7d19-4faa-a91e-862ea1324be6 +call LvfsGenCapsuleSampleColor.bat Green 79179bfd-704d-4c90-9e02-0ab8d968= c18a +call LvfsGenCapsuleSampleColor.bat Red 72e2945a-00da-448e-9aa7-075ad840= f9d4 diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleA= ll.sh b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh new file mode 100644 index 0000000000..040024553a --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh @@ -0,0 +1,28 @@ +# @file +# Linux script file to generate UEFI capsules for system firmware and +# firmware for sample devices +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
# #=20 +SPDX-License-Identifier: BSD-2-Clause-Patent # + +cd $(dirname $0) + +rm -R $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules +mkdir $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules +mkdir $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/SampleDevelopment +mkdir $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert +mkdir $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert +cp $WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/X64/CapsuleApp.efi=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/SampleDevelopment/CapsuleAp +p.efi cp=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.efi=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/SampleDevelopment/CapsuleAp +pRelease.efi cp=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/X64/CapsuleApp.efi=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert/CapsuleApp.efi +cp $WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.efi=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert/CapsuleAppRelease.e +fi cp $WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/X64/CapsuleApp.efi= =20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert/CapsuleApp.efi +cp $WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.efi=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert/CapsuleAppRelease. +efi + +. GenCapsuleMinnowMax.sh +. GenCapsuleMinnowMaxRelease.sh +. GenCapsuleSampleColor.sh Blue 149DA854-7D19-4FAA-A91E-862EA1324BE6 +. GenCapsuleSampleColor.sh Green 79179BFD-704D-4C90-9E02-0AB8D968C18A +. GenCapsuleSampleColor.sh Red 72E2945A-00DA-448E-9AA7-075AD840F9D4 diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleM= innowMax.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsule= MinnowMax.bat index 50ebb160ee..6e4afd201e 100644 --- a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMa= x.bat +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnow +++ Max.bat @@ -11,8 +11,8 @@ setlocal set FMP_CAPSULE_VENDOR=3DIntel set FMP_CAPSULE_GUID=3D4096267B-DA0A-42EB-B5EB-FEF31D207CB4 set FMP_CAPSULE_FILE=3DMinnowMax.cap -set FMP_CAPSULE_VERSION=3D0x00000009 -set FMP_CAPSULE_STRING=3D0.0.0.9 +set FMP_CAPSULE_VERSION=3D0x0000000C +set FMP_CAPSULE_STRING=3D0.0.0.12 set FMP_CAPSULE_NAME=3D"Intel MinnowMax DEBUG UEFI %FMP_CAPSULE_STRING%" set FMP_CAPSULE_LSV=3D0x00000000 set FMP_CAPSULE_KEY=3DSAMPLE_DEVELOPMENT.pfx diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleM= innowMax.sh b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleM= innowMax.sh new file mode 100644 index 0000000000..4fb963c93c --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnow +++ Max.sh @@ -0,0 +1,65 @@ +# @file +# Linux script file to generate UEFI capsules for system firmware +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
# #=20 +SPDX-License-Identifier: BSD-2-Clause-Patent # + +FMP_CAPSULE_VENDOR=3DIntel +FMP_CAPSULE_GUID=3D4096267B-DA0A-42EB-B5EB-FEF31D207CB4 +FMP_CAPSULE_FILE=3DMinnowMax.cap +FMP_CAPSULE_VERSION=3D0x0000000C +FMP_CAPSULE_STRING=3D0.0.0.12 +FMP_CAPSULE_NAME=3D"Intel MinnowMax DEBUG UEFI $FMP_CAPSULE_STRING" +FMP_CAPSULE_LSV=3D0x00000000 +FMP_CAPSULE_PAYLOAD=3D$WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/FV/V +lv.ROM + +if [ ! -e "$FMP_CAPSULE_PAYLOAD" ] ; then + return +fi + +if [ -e NewCert.pem ]; then + # + # Sign capsule using OpenSSL with a new certificate + # + GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + --signer-private-cert=3DNewCert.pem \ + --other-public-cert=3DNewSub.pub.pem \ + --trusted-public-cert=3DNewRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + + cp $FMP_CAPSULE_FILE=20 + $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert + + rm $FMP_CAPSULE_FILE +fi + +# +# Sign capsule using OpenSSL with EDK II Test Certificate #=20 +GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + +--signer-private-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign +/TestCert.pem \ + +--other-public-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/T +estSub.pub.pem \ + +--trusted-public-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign +/TestRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + +cp $FMP_CAPSULE_FILE=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert + +rm $FMP_CAPSULE_FILE + diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleM= innowMaxRelease.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Gen= CapsuleMinnowMaxRelease.bat index 9d08c86717..43c609e4b2 100644 --- a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMa= xRelease.bat +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnow +++ MaxRelease.bat @@ -11,8 +11,8 @@ setlocal set FMP_CAPSULE_VENDOR=3DIntel set FMP_CAPSULE_GUID=3D4096267B-DA0A-42EB-B5EB-FEF31D207CB4 set FMP_CAPSULE_FILE=3DMinnowMaxRelease.cap -set FMP_CAPSULE_VERSION=3D0x00000009 -set FMP_CAPSULE_STRING=3D0.0.0.9 +set FMP_CAPSULE_VERSION=3D0x0000000C +set FMP_CAPSULE_STRING=3D0.0.0.12 set FMP_CAPSULE_NAME=3D"Intel MinnowMax RELEASE UEFI %FMP_CAPSULE_STRING%= " set FMP_CAPSULE_LSV=3D0x00000000 set FMP_CAPSULE_KEY=3DSAMPLE_DEVELOPMENT.pfx diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleM= innowMaxRelease.sh b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenC= apsuleMinnowMaxRelease.sh new file mode 100644 index 0000000000..29d46dad1e --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnow +++ MaxRelease.sh @@ -0,0 +1,65 @@ +# @file +# Linux script file to generate UEFI capsules for system firmware +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
# #=20 +SPDX-License-Identifier: BSD-2-Clause-Patent # + +FMP_CAPSULE_VENDOR=3DIntel +FMP_CAPSULE_GUID=3D4096267B-DA0A-42EB-B5EB-FEF31D207CB4 +FMP_CAPSULE_FILE=3DMinnowMaxRelease.cap +FMP_CAPSULE_VERSION=3D0x0000000C +FMP_CAPSULE_STRING=3D0.0.0.12 +FMP_CAPSULE_NAME=3D"Intel MinnowMax RELEASE UEFI $FMP_CAPSULE_STRING" +FMP_CAPSULE_LSV=3D0x00000000 +FMP_CAPSULE_PAYLOAD=3D$WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/FV +/Vlv.ROM + +if [ ! -e "$FMP_CAPSULE_PAYLOAD" ] ; then + return +fi + +if [ -e NewCert.pem ]; then + # + # Sign capsule using OpenSSL with a new certificate + # + GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + --signer-private-cert=3DNewCert.pem \ + --other-public-cert=3DNewSub.pub.pem \ + --trusted-public-cert=3DNewRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + + cp $FMP_CAPSULE_FILE=20 + $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert + + rm $FMP_CAPSULE_FILE +fi + +# +# Sign capsule using OpenSSL with EDK II Test Certificate #=20 +GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + +--signer-private-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign +/TestCert.pem \ + +--other-public-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/T +estSub.pub.pem \ + +--trusted-public-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign +/TestRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + +cp $FMP_CAPSULE_FILE=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert + +rm $FMP_CAPSULE_FILE + diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleS= ampleColor.sh b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsul= eSampleColor.sh new file mode 100644 index 0000000000..a1c6f28cde --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSample +++ Color.sh @@ -0,0 +1,70 @@ +# @file +# Linux script file to generate UEFI capsules for a sample device +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
# #=20 +SPDX-License-Identifier: BSD-2-Clause-Patent # + +COLOR=3D$1 + +FMP_CAPSULE_VENDOR=3DIntel +FMP_CAPSULE_GUID=3D$2 +FMP_CAPSULE_FILE=3D$COLOR.cap +FMP_CAPSULE_VERSION=3D0x00000010 +FMP_CAPSULE_STRING=3D0.0.0.16 +FMP_CAPSULE_NAME=3D"$COLOR Progress Bar $FMP_CAPSULE_STRING" +FMP_CAPSULE_LSV=3D0x00000000 +FMP_CAPSULE_PAYLOAD=3DPayload.bin + +echo "$COLOR Progress Bar" > $FMP_CAPSULE_PAYLOAD + +if [ ! -e "$FMP_CAPSULE_PAYLOAD" ] ; then + return +fi + +if [ -e NewCert.pem ]; then + # + # Sign capsule using OpenSSL with a new certificate + # + GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + --signer-private-cert=3DNewCert.pem \ + --other-public-cert=3DNewSub.pub.pem \ + --trusted-public-cert=3DNewRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + + cp $FMP_CAPSULE_FILE=20 + $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert + + rm $FMP_CAPSULE_FILE +fi + +# +# Sign capsule using OpenSSL with EDK II Test Certificate #=20 +GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + +--signer-private-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign +/TestCert.pem \ + +--other-public-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/T +estSub.pub.pem \ + +--trusted-public-cert=3D$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign +/TestRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + +cp $FMP_CAPSULE_FILE=20 +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert + +rm $FMP_CAPSULE_FILE + +rm $FMP_CAPSULE_PAYLOAD diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs.ddf b/= Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs.ddf new file mode 100644 index 0000000000..f2c925a6dd --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs.ddf @@ -0,0 +1,14 @@ +.OPTION EXPLICIT ; Generate errors on variable typos + +.Set CabinetNameTemplate=3Dfirmware.cab ; The name of the file .set=20 +DiskDirectoryTemplate=3DCDROM ; All cabinets go in a single directory=20 +.Set Cabinet=3Don ; .Set Compress=3Don ; .Set DiskDirectory1=3D. +.Set MaxDiskSize=3D99999744 ; multiple of 512 + +;*** Files to zip ; +; +firmware.bin +firmware.metainfo.xml +;*** diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCaps= uleMinnowMax.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGe= nCapsuleMinnowMax.bat new file mode 100644 index 0000000000..dd8274a1cc --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMi +++ nnowMax.bat @@ -0,0 +1,139 @@ +@REM @file +@REM Windows batch file to generate UEFI capsules for system firmware +@REM +@REM Copyright (c) 2018, Intel Corporation. All rights reserved.
=20 +@REM @REM SPDX-License-Identifier: BSD-2-Clause-Patent @REM + +@echo off +setlocal + +set FMP_CAPSULE_VENDOR=3DIntel +set FMP_CAPSULE_GUID=3D4096267b-da0a-42eb-b5eb-fef31d207cb4 +set FMP_CAPSULE_BASE_NAME=3DMinnowMax +set FMP_CAPSULE_FILE=3D%FMP_CAPSULE_BASE_NAME%.cap +set FMP_CAPSULE_VERSION=3D0x0000000C +set FMP_CAPSULE_VERSION_DECIMAL=3D12 +set FMP_CAPSULE_STRING=3D0.0.0.12 +set FMP_CAPSULE_NAME=3D"Intel %FMP_CAPSULE_BASE_NAME% DEBUG UEFI %FMP_CAP= SULE_STRING%" +set FMP_CAPSULE_LSV=3D0x00000000 +set FMP_CAPSULE_KEY=3DSAMPLE_DEVELOPMENT.pfx +set=20 +FMP_CAPSULE_PAYLOAD=3D%WORKSPACE%\Build\Vlv2TbltDevicePkg\DEBUG_VS2015x86 +\FV\Vlv.ROM set WINDOWS_CAPSULE_KEY=3DSAMPLE_DEVELOPMENT.pfx + +if not exist "%FMP_CAPSULE_PAYLOAD%" exit /b + +if exist "%FMP_CAPSULE_KEY%" ( + REM + REM Sign capsule using signtool + REM + call GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + --signing-tool-path=3D"c:\Program Files (x86)\Windows Kits\8.1\bin\x8= 6" ^ + --pfx-file %FMP_CAPSULE_KEY% ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE%=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml powershell -Command= =20 + "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_G= UID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_B= ASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -enco= ding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_V= ERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metain= fo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_S= TRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding A= SCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_D= ATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BAS + E_NAME%-%FMP_CAPSULE_STRING%.cab + + erase firmware.cab + erase setup.inf + erase setup.rpt + + erase firmware.metainfo.xml + erase firmware.bin + erase %FMP_CAPSULE_FILE% +) + +if exist "NewCert.pem" ( + REM + REM Sign capsule using OpenSSL with a new certificate + REM + call GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + --signer-private-cert=3DNewCert.pem ^ + --other-public-cert=3DNewSub.pub.pem ^ + --trusted-public-cert=3DNewRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE%=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml powershell -Command= =20 + "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_G= UID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_B= ASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -enco= ding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_V= ERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metain= fo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_S= TRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding A= SCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_D= ATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BAS + E_NAME%-%FMP_CAPSULE_STRING%.cab + + erase firmware.cab + erase setup.inf + erase setup.rpt + + erase firmware.metainfo.xml + erase firmware.bin + erase %FMP_CAPSULE_FILE% +) + +REM +REM Sign capsule using OpenSSL with EDK II Test Certificate REM call=20 +GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + +--signer-private-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig +n\TestCert.pem ^ + +--other-public-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\ +TestSub.pub.pem ^ + +--trusted-public-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig +n\TestRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + +copy %FMP_CAPSULE_FILE%=20 +%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert + +copy %FMP_CAPSULE_FILE% firmware.bin +copy template.metainfo.xml firmware.metainfo.xml powershell -Command=20 +"(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GU= ID%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BAS= E_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encodi= ng ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VER= SION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo= .xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STR= ING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASC= II" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DAT= E', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" +makecab /f Lvfs.ddf +copy firmware.cab=20 +%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE +_NAME%-%FMP_CAPSULE_STRING%.cab + +erase firmware.cab +erase setup.inf +erase setup.rpt + +erase firmware.metainfo.xml +erase firmware.bin +erase %FMP_CAPSULE_FILE% diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCaps= uleMinnowMaxRelease.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule= /LvfsGenCapsuleMinnowMaxRelease.bat new file mode 100644 index 0000000000..2b68a98f98 --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMi +++ nnowMaxRelease.bat @@ -0,0 +1,139 @@ +@REM @file +@REM Windows batch file to generate UEFI capsules for system firmware +@REM +@REM Copyright (c) 2018, Intel Corporation. All rights reserved.
=20 +@REM @REM SPDX-License-Identifier: BSD-2-Clause-Patent @REM + +@echo off +setlocal + +set FMP_CAPSULE_VENDOR=3DIntel +set FMP_CAPSULE_GUID=3D4096267b-da0a-42eb-b5eb-fef31d207cb4 +set FMP_CAPSULE_BASE_NAME=3DMinnowMaxRelease +set FMP_CAPSULE_FILE=3D%FMP_CAPSULE_BASE_NAME%.cap +set FMP_CAPSULE_VERSION=3D0x0000000C +set FMP_CAPSULE_VERSION_DECIMAL=3D12 +set FMP_CAPSULE_STRING=3D0.0.0.12 +set FMP_CAPSULE_NAME=3D"Intel %FMP_CAPSULE_BASE_NAME% RELEASE UEFI %FMP_C= APSULE_STRING%" +set FMP_CAPSULE_LSV=3D0x00000000 +set FMP_CAPSULE_KEY=3DSAMPLE_DEVELOPMENT.pfx +set=20 +FMP_CAPSULE_PAYLOAD=3D%WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x +86\FV\Vlv.ROM set WINDOWS_CAPSULE_KEY=3DSAMPLE_DEVELOPMENT.pfx + +if not exist "%FMP_CAPSULE_PAYLOAD%" exit /b + +if exist "%FMP_CAPSULE_KEY%" ( + REM + REM Sign capsule using signtool + REM + call GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + --signing-tool-path=3D"c:\Program Files (x86)\Windows Kits\8.1\bin\x8= 6" ^ + --pfx-file %FMP_CAPSULE_KEY% ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE%=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml powershell -Command= =20 + "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_G= UID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_B= ASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -enco= ding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_V= ERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metain= fo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_S= TRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding A= SCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_D= ATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BAS + E_NAME%-%FMP_CAPSULE_STRING%.cab + + erase firmware.cab + erase setup.inf + erase setup.rpt + + erase firmware.metainfo.xml + erase firmware.bin + erase %FMP_CAPSULE_FILE% +) + +if exist "NewCert.pem" ( + REM + REM Sign capsule using OpenSSL with a new certificate + REM + call GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + --signer-private-cert=3DNewCert.pem ^ + --other-public-cert=3DNewSub.pub.pem ^ + --trusted-public-cert=3DNewRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE%=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml powershell -Command= =20 + "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_G= UID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_B= ASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -enco= ding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_V= ERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metain= fo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_S= TRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding A= SCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_D= ATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BAS + E_NAME%-%FMP_CAPSULE_STRING%.cab + + erase firmware.cab + erase setup.inf + erase setup.rpt + + erase firmware.metainfo.xml + erase firmware.bin + erase %FMP_CAPSULE_FILE% +) + +REM +REM Sign capsule using OpenSSL with EDK II Test Certificate REM call=20 +GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + +--signer-private-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig +n\TestCert.pem ^ + +--other-public-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\ +TestSub.pub.pem ^ + +--trusted-public-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig +n\TestRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + +copy %FMP_CAPSULE_FILE%=20 +%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert + +copy %FMP_CAPSULE_FILE% firmware.bin +copy template.metainfo.xml firmware.metainfo.xml powershell -Command=20 +"(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GU= ID%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BAS= E_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encodi= ng ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VER= SION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo= .xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STR= ING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASC= II" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DAT= E', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" +makecab /f Lvfs.ddf +copy firmware.cab=20 +%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE +_NAME%-%FMP_CAPSULE_STRING%.cab + +erase firmware.cab +erase setup.inf +erase setup.rpt + +erase firmware.metainfo.xml +erase firmware.bin +erase %FMP_CAPSULE_FILE% diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCaps= uleSampleColor.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs= GenCapsuleSampleColor.bat new file mode 100644 index 0000000000..1dbbe7341d --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSa +++ mpleColor.bat @@ -0,0 +1,145 @@ +@REM @file +@REM Windows batch file to generate UEFI capsules for a sample device +@REM +@REM Copyright (c) 2018, Intel Corporation. All rights reserved.
=20 +@REM @REM SPDX-License-Identifier: BSD-2-Clause-Patent @REM + +@echo off +setlocal + +set COLOR=3D%1 + +set FMP_CAPSULE_VENDOR=3DIntel +set FMP_CAPSULE_GUID=3D%2 +set FMP_CAPSULE_BASE_NAME=3D%COLOR% +set FMP_CAPSULE_FILE=3D%FMP_CAPSULE_BASE_NAME%.cap +set FMP_CAPSULE_VERSION=3D0x00000010 +set FMP_CAPSULE_VERSION_DECIMAL=3D16 +set FMP_CAPSULE_STRING=3D0.0.0.16 +set FMP_CAPSULE_NAME=3D"%FMP_CAPSULE_BASE_NAME% Progress Bar %FMP_CAPSULE= _STRING%" +set FMP_CAPSULE_LSV=3D0x00000000 +set FMP_CAPSULE_KEY=3DSAMPLE_DEVELOPMENT.pfx +set FMP_CAPSULE_PAYLOAD=3DPayload.bin +set WINDOWS_CAPSULE_KEY=3DSAMPLE_DEVELOPMENT.pfx + +echo "%COLOR% Progress Bar" > %FMP_CAPSULE_PAYLOAD% + +if not exist "%FMP_CAPSULE_PAYLOAD%" exit + +if exist "%FMP_CAPSULE_KEY%" ( + REM + REM Sign capsule using signtool + REM + call GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + --signing-tool-path=3D"c:\Program Files (x86)\Windows Kits\8.1\bin\x8= 6" ^ + --pfx-file %FMP_CAPSULE_KEY% ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE%=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml powershell -Command= =20 + "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_G= UID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_B= ASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -enco= ding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_V= ERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metain= fo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_S= TRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding A= SCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_D= ATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BAS + E_NAME%-%FMP_CAPSULE_STRING%.cab + + erase firmware.cab + erase setup.inf + erase setup.rpt + + erase firmware.metainfo.xml + erase firmware.bin + erase %FMP_CAPSULE_FILE% +) + +if exist "NewCert.pem" ( + REM + REM Sign capsule using OpenSSL with a new certificate + REM + call GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + --signer-private-cert=3DNewCert.pem ^ + --other-public-cert=3DNewSub.pub.pem ^ + --trusted-public-cert=3DNewRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE%=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml powershell -Command= =20 + "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_G= UID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_B= ASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -enco= ding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_V= ERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metain= fo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_S= TRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding A= SCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_D= ATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab=20 + %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BAS + E_NAME%-%FMP_CAPSULE_STRING%.cab + + erase firmware.cab + erase setup.inf + erase setup.rpt + + erase firmware.metainfo.xml + erase firmware.bin + erase %FMP_CAPSULE_FILE% +) + +REM +REM Sign capsule using OpenSSL with EDK II Test Certificate REM call=20 +GenerateCapsule ^ + --encode ^ + -v ^ + --guid %FMP_CAPSULE_GUID% ^ + --fw-version %FMP_CAPSULE_VERSION% ^ + --lsv %FMP_CAPSULE_LSV% ^ + --capflag PersistAcrossReset ^ + --capflag InitiateReset ^ + +--signer-private-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig +n\TestCert.pem ^ + +--other-public-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\ +TestSub.pub.pem ^ + +--trusted-public-cert=3D%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig +n\TestRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + +copy %FMP_CAPSULE_FILE%=20 +%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert + +copy %FMP_CAPSULE_FILE% firmware.bin +copy template.metainfo.xml firmware.metainfo.xml powershell -Command=20 +"(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GU= ID%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BAS= E_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encodi= ng ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VER= SION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo= .xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STR= ING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASC= II" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DAT= E', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" +makecab /f Lvfs.ddf +copy firmware.cab=20 +%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE +_NAME%-%FMP_CAPSULE_STRING%.cab + +erase firmware.cab +erase setup.inf +erase setup.rpt + +erase firmware.metainfo.xml +erase firmware.bin +erase %FMP_CAPSULE_FILE% + +erase %FMP_CAPSULE_PAYLOAD% diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.me= tainfo.xml b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.met= ainfo.xml new file mode 100644 index 0000000000..5d550c1f48 --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.metainf +++ o.xml @@ -0,0 +1,27 @@ + + + com.intel.FMP_CAPSULE_BASE_NAME.firmware + FMP_CAPSULE_BASE_NAME + System firmware for the FMP_CAPSULE_BASE_NAME + + Description of System firmware for the FMP_CAPSULE_BASE_NAME + + + FMP_CAPSULE_GUID + + http://www.tianocore.org + CC0-1.0 + BSD + Tianocore + + + + Build FMP_CAPSULE_STRING + + + + + + + + diff --git a/Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc b/Vlv2TbltDevicePkg/= PlatformCapsuleGcc.dsc new file mode 100644 index 0000000000..1856ac349b --- /dev/null +++ b/Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc @@ -0,0 +1,38 @@ +#/** @file +# Platform capsule description. +# +# Copyright (c) 2016, Intel Corporation. All rights reserved.
# #=20 +SPDX-License-Identifier: BSD-2-Clause-Patent # #**/ + +[Defines] + PLATFORM_NAME =3D Vlv2TbltDevicePkg + PLATFORM_GUID =3D EE87F258-6ECC-4415-B1D8-23771BEE26E7 + PLATFORM_VERSION =3D 0.1 + FLASH_DEFINITION =3D Vlv2TbltDevicePkg/PlatformCapsuleGcc= .fdf + OUTPUT_DIRECTORY =3D Build/Vlv2TbltDevicePkg + SUPPORTED_ARCHITECTURES =3D IA32|X64 + BUILD_TARGETS =3D DEBUG|RELEASE + SKUID_IDENTIFIER =3D DEFAULT + POSTBUILD =3D Vlv2TbltDevicePkg/Feature/Capsule/Ge= nerateCapsule/GenCapsuleAll.sh + +####################################################################### +############################ +# +# Components Section - list of the modules and components that will be pr= ocessed 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 im= ages get placed +# into firmware volume images. This section is just a list of modul= es 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 P= I 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 req= uired in the FDF file, +# When a module listed here is excluded from FDF file, then UEFI-co= mpliant binary will be +# generated for it, but the binary will not be put into any firmwar= e volume. +# +####################################################################### +############################ -- 2.21.0.windows.1 --=20 Qian Yi