2 @REM Windows batch file to generate UEFI capsules
for a sample
device
4 @REM Copyright
(c
) 2018, Intel Corporation. All rights reserved.
<BR
>
5 @REM SPDX
-License
-Identifier
: BSD
-2-Clause
-Patent
13 set FMP_CAPSULE_VENDOR
=Intel
14 set FMP_CAPSULE_GUID
=%2
15 set FMP_CAPSULE_FILE
=%COLOR%.cap
16 set FMP_CAPSULE_VERSION
=0x00000010
17 set FMP_CAPSULE_STRING
=0.0.0.16
18 set FMP_CAPSULE_NAME
="%COLOR% Progress Bar %FMP_CAPSULE_STRING%"
19 set FMP_CAPSULE_LSV
=0x00000000
20 set FMP_CAPSULE_KEY
=SAMPLE_DEVELOPMENT.pfx
21 set FMP_CAPSULE_PAYLOAD
=Payload.bin
22 set WINDOWS_CAPSULE_KEY
=SAMPLE_DEVELOPMENT.pfx
24 echo "%COLOR% Progress Bar" > %FMP_CAPSULE_PAYLOAD%
26 if not exist "%FMP_CAPSULE_PAYLOAD%" exit
28 if exist "%FMP_CAPSULE_KEY%" (
30 REM Sign capsule using signtool
32 call GenerateCapsule ^
35 --guid
%FMP_CAPSULE_GUID% ^
36 --fw
-version
%FMP_CAPSULE_VERSION% ^
37 --lsv
%FMP_CAPSULE_LSV% ^
38 --capflag PersistAcrossReset ^
39 --capflag InitiateReset ^
40 --signing
-tool
-path="c:\Program Files (x86)\Windows Kits\8.1\bin\x86" ^
41 --pfx
-file
%FMP_CAPSULE_KEY% ^
42 -o
%FMP_CAPSULE_FILE% ^
45 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment
47 if exist "%WINDOWS_CAPSULE_KEY%" (
48 CreateWindowsCapsule.py ^
50 %FMP_CAPSULE_STRING% ^
53 %FMP_CAPSULE_VERSION% ^
54 %FMP_CAPSULE_VENDOR% ^
55 %FMP_CAPSULE_VENDOR% ^
56 %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY%
58 xcopy /s
/e
/v
/i
/y WindowsCapsule
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment\
%COLOR%WindowsCapsule
59 rmdir /s
/q WindowsCapsule
61 erase %FMP_CAPSULE_FILE%
64 if exist "NewCert.pem" (
66 REM Sign capsule using OpenSSL with a new certificate
68 call GenerateCapsule ^
71 --guid
%FMP_CAPSULE_GUID% ^
72 --fw
-version
%FMP_CAPSULE_VERSION% ^
73 --lsv
%FMP_CAPSULE_LSV% ^
74 --capflag PersistAcrossReset ^
75 --capflag InitiateReset ^
76 --signing
-tool
-path=c
:\OpenSSL
-Win32
\bin ^
77 --signer
-private
-cert
=NewCert.pem ^
78 --other
-public
-cert
=NewSub.pub.pem ^
79 --trusted
-public
-cert
=NewRoot.pub.pem ^
80 -o
%FMP_CAPSULE_FILE% ^
83 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert
85 if exist "%WINDOWS_CAPSULE_KEY%" (
86 CreateWindowsCapsule.py ^
88 %FMP_CAPSULE_STRING% ^
91 %FMP_CAPSULE_VERSION% ^
92 %FMP_CAPSULE_VENDOR% ^
93 %FMP_CAPSULE_VENDOR% ^
94 %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY%
96 xcopy /s
/e
/v
/i
/y WindowsCapsule
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert\
%COLOR%WindowsCapsule
97 rmdir /s
/q WindowsCapsule
99 erase %FMP_CAPSULE_FILE%
103 REM Sign capsule using OpenSSL with EDK II Test Certificate
105 call GenerateCapsule ^
108 --guid
%FMP_CAPSULE_GUID% ^
109 --fw
-version
%FMP_CAPSULE_VERSION% ^
110 --lsv
%FMP_CAPSULE_LSV% ^
111 --capflag PersistAcrossReset ^
112 --capflag InitiateReset ^
113 --signing
-tool
-path=c
:\OpenSSL
-Win32
\bin ^
114 --signer
-private
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestCert.pem ^
115 --other
-public
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestSub.pub.pem ^
116 --trusted
-public
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestRoot.pub.pem ^
117 -o
%FMP_CAPSULE_FILE% ^
118 %FMP_CAPSULE_PAYLOAD%
120 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert
122 if exist "%WINDOWS_CAPSULE_KEY%" (
123 CreateWindowsCapsule.py ^
125 %FMP_CAPSULE_STRING% ^
128 %FMP_CAPSULE_VERSION% ^
129 %FMP_CAPSULE_VENDOR% ^
130 %FMP_CAPSULE_VENDOR% ^
131 %FMP_CAPSULE_NAME% %WINDOWS_CAPSULE_KEY%
133 xcopy /s
/e
/v
/i
/y WindowsCapsule
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\
%COLOR%WindowsCapsule
134 rmdir /s
/q WindowsCapsule
137 erase %FMP_CAPSULE_FILE%
139 erase %FMP_CAPSULE_PAYLOAD%