2 @REM Windows batch file to generate UEFI capsules
for a sample
device
4 @REM Copyright
(c
) 2018, Intel Corporation. All rights reserved.
<BR
>
6 @REM SPDX
-License
-Identifier
: BSD
-2-Clause
-Patent
14 set FMP_CAPSULE_VENDOR
=Intel
15 set FMP_CAPSULE_GUID
=%2
16 set FMP_CAPSULE_BASE_NAME
=%COLOR%
17 set FMP_CAPSULE_FILE
=%FMP_CAPSULE_BASE_NAME%.cap
18 set FMP_CAPSULE_VERSION
=0x00000010
19 set FMP_CAPSULE_VERSION_DECIMAL
=16
20 set FMP_CAPSULE_STRING
=0.0.0.16
21 set FMP_CAPSULE_NAME
="%FMP_CAPSULE_BASE_NAME% Progress Bar %FMP_CAPSULE_STRING%"
22 set FMP_CAPSULE_LSV
=0x00000000
23 set FMP_CAPSULE_KEY
=SAMPLE_DEVELOPMENT.pfx
24 set FMP_CAPSULE_PAYLOAD
=Payload.bin
25 set WINDOWS_CAPSULE_KEY
=SAMPLE_DEVELOPMENT.pfx
27 echo "%COLOR% Progress Bar" > %FMP_CAPSULE_PAYLOAD%
29 if not exist "%FMP_CAPSULE_PAYLOAD%" exit
31 if exist "%FMP_CAPSULE_KEY%" (
33 REM Sign capsule using signtool
35 call GenerateCapsule ^
38 --guid
%FMP_CAPSULE_GUID% ^
39 --fw
-version
%FMP_CAPSULE_VERSION% ^
40 --lsv
%FMP_CAPSULE_LSV% ^
41 --capflag PersistAcrossReset ^
42 --capflag InitiateReset ^
43 --signing
-tool
-path="c:\Program Files (x86)\Windows Kits\8.1\bin\x86" ^
44 --pfx
-file
%FMP_CAPSULE_KEY% ^
45 -o
%FMP_CAPSULE_FILE% ^
48 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment
50 copy %FMP_CAPSULE_FILE% firmware.bin
51 copy template.metainfo.xml firmware.metainfo.xml
52 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
53 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
54 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
55 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
56 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
58 copy firmware.cab
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\
%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
64 erase firmware.metainfo.xml
66 erase %FMP_CAPSULE_FILE%
69 if exist "NewCert.pem" (
71 REM Sign capsule using OpenSSL with a new certificate
73 call GenerateCapsule ^
76 --guid
%FMP_CAPSULE_GUID% ^
77 --fw
-version
%FMP_CAPSULE_VERSION% ^
78 --lsv
%FMP_CAPSULE_LSV% ^
79 --capflag PersistAcrossReset ^
80 --capflag InitiateReset ^
81 --signer
-private
-cert
=NewCert.pem ^
82 --other
-public
-cert
=NewSub.pub.pem ^
83 --trusted
-public
-cert
=NewRoot.pub.pem ^
84 -o
%FMP_CAPSULE_FILE% ^
87 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert
89 copy %FMP_CAPSULE_FILE% firmware.bin
90 copy template.metainfo.xml firmware.metainfo.xml
91 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
92 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
93 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
94 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
95 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
97 copy firmware.cab
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\
%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
103 erase firmware.metainfo.xml
105 erase %FMP_CAPSULE_FILE%
109 REM Sign capsule using OpenSSL with EDK II Test Certificate
111 call GenerateCapsule ^
114 --guid
%FMP_CAPSULE_GUID% ^
115 --fw
-version
%FMP_CAPSULE_VERSION% ^
116 --lsv
%FMP_CAPSULE_LSV% ^
117 --capflag PersistAcrossReset ^
118 --capflag InitiateReset ^
119 --signer
-private
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestCert.pem ^
120 --other
-public
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestSub.pub.pem ^
121 --trusted
-public
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestRoot.pub.pem ^
122 -o
%FMP_CAPSULE_FILE% ^
123 %FMP_CAPSULE_PAYLOAD%
125 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert
127 copy %FMP_CAPSULE_FILE% firmware.bin
128 copy template.metainfo.xml firmware.metainfo.xml
129 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
130 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
131 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
132 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
133 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
135 copy firmware.cab
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\
%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
141 erase firmware.metainfo.xml
143 erase %FMP_CAPSULE_FILE%
145 erase %FMP_CAPSULE_PAYLOAD%