From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.136, mailfrom: michael.d.kinney@intel.com) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by groups.io with SMTP; Wed, 08 May 2019 21:31:18 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 May 2019 21:31:17 -0700 X-ExtLoop1: 1 Received: from unknown (HELO mdkinney-MOBL2.amr.corp.intel.com) ([10.241.98.74]) by orsmga004.jf.intel.com with ESMTP; 08 May 2019 21:31:17 -0700 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Zailiang Sun , Yi Qian Subject: [Patch 15/16] Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS generation scripts Date: Wed, 8 May 2019 21:31:10 -0700 Message-Id: <20190509043111.15272-16-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 In-Reply-To: <20190509043111.15272-1-michael.d.kinney@intel.com> References: <20190509043111.15272-1-michael.d.kinney@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add batch scripts to generate the LVFS compatible capsule update driver. Add DSC/FDF files to build capsules and invoke post build shell scripts for Linux build environments. Make versions consistent. Cc: Zailiang Sun Cc: Yi Qian Signed-off-by: Michael D Kinney --- .../Capsule/GenerateCapsule/GenCapsuleAll.bat | 12 +- .../Capsule/GenerateCapsule/GenCapsuleAll.sh | 28 ++++ .../GenerateCapsule/GenCapsuleMinnowMax.bat | 4 +- .../GenerateCapsule/GenCapsuleMinnowMax.sh | 65 ++++++++ .../GenCapsuleMinnowMaxRelease.bat | 4 +- .../GenCapsuleMinnowMaxRelease.sh | 65 ++++++++ .../GenerateCapsule/GenCapsuleSampleColor.sh | 70 +++++++++ .../Feature/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 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.sh create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.sh create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleColor.sh create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs.ddf create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinnowMax.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinnowMaxRelease.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSampleColor.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.metainfo.xml create mode 100644 Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat index 187797e284..8f589565fa 100644 --- a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat @@ -24,6 +24,12 @@ copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x86\X64\CapsuleApp.efi %W 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-0ab8d968c18a +call LvfsGenCapsuleSampleColor.bat Red 72e2945a-00da-448e-9aa7-075ad840f9d4 diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.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.
+# +# 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 $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/SampleDevelopment/CapsuleApp.efi +cp $WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.efi $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/SampleDevelopment/CapsuleAppRelease.efi +cp $WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/X64/CapsuleApp.efi $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert/CapsuleApp.efi +cp $WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.efi $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert/CapsuleAppRelease.efi +cp $WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/X64/CapsuleApp.efi $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert/CapsuleApp.efi +cp $WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.efi $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/GenCapsuleMinnowMax.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.bat index 50ebb160ee..6e4afd201e 100644 --- a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.bat +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.bat @@ -11,8 +11,8 @@ setlocal set FMP_CAPSULE_VENDOR=Intel set FMP_CAPSULE_GUID=4096267B-DA0A-42EB-B5EB-FEF31D207CB4 set FMP_CAPSULE_FILE=MinnowMax.cap -set FMP_CAPSULE_VERSION=0x00000009 -set FMP_CAPSULE_STRING=0.0.0.9 +set FMP_CAPSULE_VERSION=0x0000000C +set FMP_CAPSULE_STRING=0.0.0.12 set FMP_CAPSULE_NAME="Intel MinnowMax DEBUG UEFI %FMP_CAPSULE_STRING%" set FMP_CAPSULE_LSV=0x00000000 set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.sh b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.sh new file mode 100644 index 0000000000..4fb963c93c --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.sh @@ -0,0 +1,65 @@ +# @file +# Linux script file to generate UEFI capsules for system firmware +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +FMP_CAPSULE_VENDOR=Intel +FMP_CAPSULE_GUID=4096267B-DA0A-42EB-B5EB-FEF31D207CB4 +FMP_CAPSULE_FILE=MinnowMax.cap +FMP_CAPSULE_VERSION=0x0000000C +FMP_CAPSULE_STRING=0.0.0.12 +FMP_CAPSULE_NAME="Intel MinnowMax DEBUG UEFI $FMP_CAPSULE_STRING" +FMP_CAPSULE_LSV=0x00000000 +FMP_CAPSULE_PAYLOAD=$WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_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=NewCert.pem \ + --other-public-cert=NewSub.pub.pem \ + --trusted-public-cert=NewRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + + cp $FMP_CAPSULE_FILE $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert + + rm $FMP_CAPSULE_FILE +fi + +# +# Sign capsule using OpenSSL with EDK II Test Certificate +# +GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + --signer-private-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestCert.pem \ + --other-public-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestSub.pub.pem \ + --trusted-public-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + +cp $FMP_CAPSULE_FILE $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert + +rm $FMP_CAPSULE_FILE + diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.bat index 9d08c86717..43c609e4b2 100644 --- a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.bat +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.bat @@ -11,8 +11,8 @@ setlocal set FMP_CAPSULE_VENDOR=Intel set FMP_CAPSULE_GUID=4096267B-DA0A-42EB-B5EB-FEF31D207CB4 set FMP_CAPSULE_FILE=MinnowMaxRelease.cap -set FMP_CAPSULE_VERSION=0x00000009 -set FMP_CAPSULE_STRING=0.0.0.9 +set FMP_CAPSULE_VERSION=0x0000000C +set FMP_CAPSULE_STRING=0.0.0.12 set FMP_CAPSULE_NAME="Intel MinnowMax RELEASE UEFI %FMP_CAPSULE_STRING%" set FMP_CAPSULE_LSV=0x00000000 set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.sh b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.sh new file mode 100644 index 0000000000..29d46dad1e --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.sh @@ -0,0 +1,65 @@ +# @file +# Linux script file to generate UEFI capsules for system firmware +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +FMP_CAPSULE_VENDOR=Intel +FMP_CAPSULE_GUID=4096267B-DA0A-42EB-B5EB-FEF31D207CB4 +FMP_CAPSULE_FILE=MinnowMaxRelease.cap +FMP_CAPSULE_VERSION=0x0000000C +FMP_CAPSULE_STRING=0.0.0.12 +FMP_CAPSULE_NAME="Intel MinnowMax RELEASE UEFI $FMP_CAPSULE_STRING" +FMP_CAPSULE_LSV=0x00000000 +FMP_CAPSULE_PAYLOAD=$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=NewCert.pem \ + --other-public-cert=NewSub.pub.pem \ + --trusted-public-cert=NewRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + + cp $FMP_CAPSULE_FILE $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert + + rm $FMP_CAPSULE_FILE +fi + +# +# Sign capsule using OpenSSL with EDK II Test Certificate +# +GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + --signer-private-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestCert.pem \ + --other-public-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestSub.pub.pem \ + --trusted-public-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + +cp $FMP_CAPSULE_FILE $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert + +rm $FMP_CAPSULE_FILE + diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleColor.sh b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleColor.sh new file mode 100644 index 0000000000..a1c6f28cde --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleColor.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.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +COLOR=$1 + +FMP_CAPSULE_VENDOR=Intel +FMP_CAPSULE_GUID=$2 +FMP_CAPSULE_FILE=$COLOR.cap +FMP_CAPSULE_VERSION=0x00000010 +FMP_CAPSULE_STRING=0.0.0.16 +FMP_CAPSULE_NAME="$COLOR Progress Bar $FMP_CAPSULE_STRING" +FMP_CAPSULE_LSV=0x00000000 +FMP_CAPSULE_PAYLOAD=Payload.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=NewCert.pem \ + --other-public-cert=NewSub.pub.pem \ + --trusted-public-cert=NewRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + + cp $FMP_CAPSULE_FILE $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert + + rm $FMP_CAPSULE_FILE +fi + +# +# Sign capsule using OpenSSL with EDK II Test Certificate +# +GenerateCapsule \ + --encode \ + -v \ + --guid $FMP_CAPSULE_GUID \ + --fw-version $FMP_CAPSULE_VERSION \ + --lsv $FMP_CAPSULE_LSV \ + --capflag PersistAcrossReset \ + --capflag InitiateReset \ + --signer-private-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestCert.pem \ + --other-public-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestSub.pub.pem \ + --trusted-public-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestRoot.pub.pem \ + -o $FMP_CAPSULE_FILE \ + $FMP_CAPSULE_PAYLOAD + +cp $FMP_CAPSULE_FILE $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=firmware.cab ; The name of the file +.set DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory +.Set Cabinet=on ; +.Set Compress=on ; +.Set DiskDirectory1=. +.Set MaxDiskSize=99999744 ; multiple of 512 + +;*** Files to zip ; +; +firmware.bin +firmware.metainfo.xml +;*** diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinnowMax.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinnowMax.bat new file mode 100644 index 0000000000..dd8274a1cc --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinnowMax.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.
+@REM +@REM SPDX-License-Identifier: BSD-2-Clause-Patent +@REM + +@echo off +setlocal + +set FMP_CAPSULE_VENDOR=Intel +set FMP_CAPSULE_GUID=4096267b-da0a-42eb-b5eb-fef31d207cb4 +set FMP_CAPSULE_BASE_NAME=MinnowMax +set FMP_CAPSULE_FILE=%FMP_CAPSULE_BASE_NAME%.cap +set FMP_CAPSULE_VERSION=0x0000000C +set FMP_CAPSULE_VERSION_DECIMAL=12 +set FMP_CAPSULE_STRING=0.0.0.12 +set FMP_CAPSULE_NAME="Intel %FMP_CAPSULE_BASE_NAME% DEBUG UEFI %FMP_CAPSULE_STRING%" +set FMP_CAPSULE_LSV=0x00000000 +set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx +set FMP_CAPSULE_PAYLOAD=%WORKSPACE%\Build\Vlv2TbltDevicePkg\DEBUG_VS2015x86\FV\Vlv.ROM +set WINDOWS_CAPSULE_KEY=SAMPLE_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="c:\Program Files (x86)\Windows Kits\8.1\bin\x86" ^ + --pfx-file %FMP_CAPSULE_KEY% ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab %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% +) + +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=NewCert.pem ^ + --other-public-cert=NewSub.pub.pem ^ + --trusted-public-cert=NewRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab %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% +) + +REM +REM Sign capsule using OpenSSL with EDK II Test 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=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestCert.pem ^ + --other-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestSub.pub.pem ^ + --trusted-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + +copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert + +copy %FMP_CAPSULE_FILE% firmware.bin +copy template.metainfo.xml firmware.metainfo.xml +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" +makecab /f Lvfs.ddf +copy firmware.cab %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/LvfsGenCapsuleMinnowMaxRelease.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinnowMaxRelease.bat new file mode 100644 index 0000000000..2b68a98f98 --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinnowMaxRelease.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.
+@REM +@REM SPDX-License-Identifier: BSD-2-Clause-Patent +@REM + +@echo off +setlocal + +set FMP_CAPSULE_VENDOR=Intel +set FMP_CAPSULE_GUID=4096267b-da0a-42eb-b5eb-fef31d207cb4 +set FMP_CAPSULE_BASE_NAME=MinnowMaxRelease +set FMP_CAPSULE_FILE=%FMP_CAPSULE_BASE_NAME%.cap +set FMP_CAPSULE_VERSION=0x0000000C +set FMP_CAPSULE_VERSION_DECIMAL=12 +set FMP_CAPSULE_STRING=0.0.0.12 +set FMP_CAPSULE_NAME="Intel %FMP_CAPSULE_BASE_NAME% RELEASE UEFI %FMP_CAPSULE_STRING%" +set FMP_CAPSULE_LSV=0x00000000 +set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx +set FMP_CAPSULE_PAYLOAD=%WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x86\FV\Vlv.ROM +set WINDOWS_CAPSULE_KEY=SAMPLE_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="c:\Program Files (x86)\Windows Kits\8.1\bin\x86" ^ + --pfx-file %FMP_CAPSULE_KEY% ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab %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% +) + +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=NewCert.pem ^ + --other-public-cert=NewSub.pub.pem ^ + --trusted-public-cert=NewRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab %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% +) + +REM +REM Sign capsule using OpenSSL with EDK II Test 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=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestCert.pem ^ + --other-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestSub.pub.pem ^ + --trusted-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + +copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert + +copy %FMP_CAPSULE_FILE% firmware.bin +copy template.metainfo.xml firmware.metainfo.xml +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" +makecab /f Lvfs.ddf +copy firmware.cab %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/LvfsGenCapsuleSampleColor.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSampleColor.bat new file mode 100644 index 0000000000..1dbbe7341d --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSampleColor.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.
+@REM +@REM SPDX-License-Identifier: BSD-2-Clause-Patent +@REM + +@echo off +setlocal + +set COLOR=%1 + +set FMP_CAPSULE_VENDOR=Intel +set FMP_CAPSULE_GUID=%2 +set FMP_CAPSULE_BASE_NAME=%COLOR% +set FMP_CAPSULE_FILE=%FMP_CAPSULE_BASE_NAME%.cap +set FMP_CAPSULE_VERSION=0x00000010 +set FMP_CAPSULE_VERSION_DECIMAL=16 +set FMP_CAPSULE_STRING=0.0.0.16 +set FMP_CAPSULE_NAME="%FMP_CAPSULE_BASE_NAME% Progress Bar %FMP_CAPSULE_STRING%" +set FMP_CAPSULE_LSV=0x00000000 +set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx +set FMP_CAPSULE_PAYLOAD=Payload.bin +set WINDOWS_CAPSULE_KEY=SAMPLE_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="c:\Program Files (x86)\Windows Kits\8.1\bin\x86" ^ + --pfx-file %FMP_CAPSULE_KEY% ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab %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% +) + +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=NewCert.pem ^ + --other-public-cert=NewSub.pub.pem ^ + --trusted-public-cert=NewRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + + copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert + + copy %FMP_CAPSULE_FILE% firmware.bin + copy template.metainfo.xml firmware.metainfo.xml + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" + powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" + makecab /f Lvfs.ddf + copy firmware.cab %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% +) + +REM +REM Sign capsule using OpenSSL with EDK II Test 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=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestCert.pem ^ + --other-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestSub.pub.pem ^ + --trusted-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestRoot.pub.pem ^ + -o %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_PAYLOAD% + +copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert + +copy %FMP_CAPSULE_FILE% firmware.bin +copy template.metainfo.xml firmware.metainfo.xml +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII" +powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII" +makecab /f Lvfs.ddf +copy firmware.cab %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.metainfo.xml b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.metainfo.xml new file mode 100644 index 0000000000..5d550c1f48 --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.metainfo.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.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# +#**/ + +[Defines] + PLATFORM_NAME = Vlv2TbltDevicePkg + PLATFORM_GUID = EE87F258-6ECC-4415-B1D8-23771BEE26E7 + PLATFORM_VERSION = 0.1 + FLASH_DEFINITION = Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf + OUTPUT_DIRECTORY = Build/Vlv2TbltDevicePkg + SUPPORTED_ARCHITECTURES = IA32|X64 + BUILD_TARGETS = DEBUG|RELEASE + SKUID_IDENTIFIER = DEFAULT + POSTBUILD = Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh + +################################################################################################### +# +# 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. +# +################################################################################################### -- 2.21.0.windows.1