Vlv2TbltDevicePkg/Capsule: Add scripts to generate capsules

Use GenerateCapsule to generate capsules for MinnowMax
debug and release builds and sample devices.

Cc: David Wei <david.wei@intel.com>
Cc: Mang Guo <mang.guo@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
Reviewed-by: Guo Mang <mang.guo@intel.com>
This commit is contained in:
Michael D Kinney 2018-05-30 16:02:02 -07:00
parent dc65dd5be6
commit d3049066ca
7 changed files with 461 additions and 0 deletions

View File

@ -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.<BR>
@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

View File

@ -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.<BR>
@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%

View File

@ -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.<BR>
@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%

View File

@ -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.<BR>
@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%