From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=michael.d.kinney@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 676FA21962301 for ; Thu, 9 Aug 2018 18:28:31 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Aug 2018 18:28:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,217,1531810800"; d="scan'208";a="63770852" Received: from mdkinney-mobl2.amr.corp.intel.com ([10.241.98.57]) by orsmga007.jf.intel.com with ESMTP; 09 Aug 2018 18:28:30 -0700 From: Michael D Kinney To: edk2-devel@lists.01.org Cc: David Wei , Mang Guo Date: Thu, 9 Aug 2018 18:28:25 -0700 Message-Id: <20180810012826.4052-4-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.14.2.windows.3 In-Reply-To: <20180810012826.4052-1-michael.d.kinney@intel.com> References: <20180810012826.4052-1-michael.d.kinney@intel.com> Subject: [Patch 3/4] Vlv2TbltDevicePkg/Capsule: Add scripts to generate capsules X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Aug 2018 01:28:31 -0000 Use GenerateCapsule to generate capsules for MinnowMax debug and release builds and sample devices. Cc: David Wei Cc: Mang Guo Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney --- .../Capsule/GenerateCapsule/GenCapsuleAll.bat | 35 +++++ .../GenerateCapsule/GenCapsuleMinnowMax.bat | 139 ++++++++++++++++++++ .../GenerateCapsule/GenCapsuleMinnowMaxRelease.bat | 139 ++++++++++++++++++++ .../GenerateCapsule/GenCapsuleSampleColor.bat | 145 +++++++++++++++++++++ ...kenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc | 1 + ...kenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc | 1 + ...kenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc | 1 + 7 files changed, 461 insertions(+) create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleColor.bat create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/NewRoot.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc create mode 100644 Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT_SAMPLE_PRODUCTION.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat new file mode 100644 index 0000000000..df326dc3af --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat @@ -0,0 +1,35 @@ +@REM @file +@REM Windows batch file to generate UEFI capsules for system firmware and +@REM firmware for sample devices +@REM +@REM Copyright (c) 2018, Intel Corporation. All rights reserved.
+@REM This program and the accompanying materials +@REM are licensed and made available under the terms and conditions of the BSD License +@REM which accompanies this distribution. The full text of the license may be found at +@REM http://opensource.org/licenses/bsd-license.php +@REM +@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +@REM + +@echo off +setlocal +cd /d %~dp0 + +rmdir /s /q %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 +copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\DEBUG_VS2015x86\X64\CapsuleApp.efi %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment\CapsuleApp.efi +copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x86\X64\CapsuleApp.efi %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment\CapsuleAppRelease.efi +copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\DEBUG_VS2015x86\X64\CapsuleApp.efi %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert\CapsuleApp.efi +copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x86\X64\CapsuleApp.efi %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert\CapsuleAppRelease.efi +copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\DEBUG_VS2015x86\X64\CapsuleApp.efi %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\CapsuleApp.efi +copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x86\X64\CapsuleApp.efi %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\CapsuleAppRelease.efi + +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 diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.bat new file mode 100644 index 0000000000..2a049c4c0f --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMax.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 This program and the accompanying materials +@REM are licensed and made available under the terms and conditions of the BSD License +@REM which accompanies this distribution. The full text of the license may be found at +@REM http://opensource.org/licenses/bsd-license.php +@REM +@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +@REM + +@echo off +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_NAME="Intel MinnowMax 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 + + if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment\MinnowMaxWindowsCapsule + rmdir /s /q WindowsCapsule + ) + 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 ^ + --signing-tool-path=c:\OpenSSL-Win32\bin ^ + --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 + + if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert\MinnowMaxWindowsCapsule + rmdir /s /q WindowsCapsule + ) + 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 ^ + --signing-tool-path=c:\OpenSSL-Win32\bin ^ + --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 + +if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\MinnowMaxWindowsCapsule + rmdir /s /q WindowsCapsule +) + +erase %FMP_CAPSULE_FILE% diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.bat new file mode 100644 index 0000000000..c0cdac0904 --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnowMaxRelease.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 This program and the accompanying materials +@REM are licensed and made available under the terms and conditions of the BSD License +@REM which accompanies this distribution. The full text of the license may be found at +@REM http://opensource.org/licenses/bsd-license.php +@REM +@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +@REM + +@echo off +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_NAME="Intel MinnowMax 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 + + if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment\MinnowMaxReleaseWindowsCapsule + rmdir /s /q WindowsCapsule + ) + 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 ^ + --signing-tool-path=c:\OpenSSL-Win32\bin ^ + --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 + + if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert\MinnowMaxReleaseWindowsCapsule + rmdir /s /q WindowsCapsule + ) + 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 ^ + --signing-tool-path=c:\OpenSSL-Win32\bin ^ + --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 + +if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\MinnowMaxReleaseWindowsCapsule + rmdir /s /q WindowsCapsule +) + +erase %FMP_CAPSULE_FILE% diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleColor.bat b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleColor.bat new file mode 100644 index 0000000000..c7f70ff958 --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleColor.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 This program and the accompanying materials +@REM are licensed and made available under the terms and conditions of the BSD License +@REM which accompanies this distribution. The full text of the license may be found at +@REM http://opensource.org/licenses/bsd-license.php +@REM +@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +@REM + +@echo off +setlocal + +set COLOR=%1 + +set FMP_CAPSULE_VENDOR=Intel +set FMP_CAPSULE_GUID=%2 +set FMP_CAPSULE_FILE=%COLOR%.cap +set FMP_CAPSULE_VERSION=0x00000010 +set FMP_CAPSULE_STRING=0.0.0.16 +set FMP_CAPSULE_NAME="%COLOR% 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 + + if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment\%COLOR%WindowsCapsule + rmdir /s /q WindowsCapsule + ) + 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 ^ + --signing-tool-path=c:\OpenSSL-Win32\bin ^ + --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 + + if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert\%COLOR%WindowsCapsule + rmdir /s /q WindowsCapsule + ) + 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 ^ + --signing-tool-path=c:\OpenSSL-Win32\bin ^ + --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 + +if exist "%WINDOWS_CAPSULE_KEY%" ( + CreateWindowsCapsule.py ^ + UEFI ^ + %FMP_CAPSULE_STRING% ^ + %FMP_CAPSULE_GUID% ^ + %FMP_CAPSULE_FILE% ^ + %FMP_CAPSULE_VERSION% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_VENDOR% ^ + %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY% + + xcopy /s/e/v/i/y WindowsCapsule %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%COLOR%WindowsCapsule + rmdir /s /q WindowsCapsule +) + +erase %FMP_CAPSULE_FILE% + +erase %FMP_CAPSULE_PAYLOAD% diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/NewRoot.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/NewRoot.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc new file mode 100644 index 0000000000..d3f5a12faa --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/NewRoot.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc @@ -0,0 +1 @@ + diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc new file mode 100644 index 0000000000..d3f5a12faa --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc @@ -0,0 +1 @@ + diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT_SAMPLE_PRODUCTION.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT_SAMPLE_PRODUCTION.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc new file mode 100644 index 0000000000..d3f5a12faa --- /dev/null +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/SAMPLE_DEVELOPMENT_SAMPLE_PRODUCTION.cer.gFmpDevicePkgTokenSpaceGuid.PcdFmpDevicePkcs7CertBufferXdr.inc @@ -0,0 +1 @@ + -- 2.14.2.windows.3