2 @REM Windows batch file to generate UEFI capsules
for system firmware
4 @REM Copyright
(c
) 2018, Intel Corporation. All rights reserved.
<BR
>
6 @REM SPDX
-License
-Identifier
: BSD
-2-Clause
-Patent
12 set FMP_CAPSULE_VENDOR
=Intel
13 set FMP_CAPSULE_GUID
=4096267b
-da0a
-42eb
-b5eb
-fef31d207cb4
14 set FMP_CAPSULE_BASE_NAME
=MinnowMax
15 set FMP_CAPSULE_FILE
=%FMP_CAPSULE_BASE_NAME%.cap
16 set FMP_CAPSULE_VERSION
=0x0000000C
17 set FMP_CAPSULE_VERSION_DECIMAL
=12
18 set FMP_CAPSULE_STRING
=0.0.0.12
19 set FMP_CAPSULE_NAME
="Intel %FMP_CAPSULE_BASE_NAME% DEBUG UEFI %FMP_CAPSULE_STRING%"
20 set FMP_CAPSULE_LSV
=0x00000000
21 set FMP_CAPSULE_KEY
=SAMPLE_DEVELOPMENT.pfx
22 set FMP_CAPSULE_PAYLOAD
=%WORKSPACE%\Build\Vlv2TbltDevicePkg\DEBUG_VS2015x86\FV\Vlv.ROM
23 set WINDOWS_CAPSULE_KEY
=SAMPLE_DEVELOPMENT.pfx
25 if not exist "%FMP_CAPSULE_PAYLOAD%" exit /b
27 if exist "%FMP_CAPSULE_KEY%" (
29 REM Sign capsule using signtool
31 call GenerateCapsule ^
34 --guid
%FMP_CAPSULE_GUID% ^
35 --fw
-version
%FMP_CAPSULE_VERSION% ^
36 --lsv
%FMP_CAPSULE_LSV% ^
37 --capflag PersistAcrossReset ^
38 --capflag InitiateReset ^
39 --signing
-tool
-path="c:\Program Files (x86)\Windows Kits\8.1\bin\x86" ^
40 --pfx
-file
%FMP_CAPSULE_KEY% ^
41 -o
%FMP_CAPSULE_FILE% ^
44 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment
46 copy %FMP_CAPSULE_FILE% firmware.bin
47 copy template.metainfo.xml firmware.metainfo.xml
48 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
49 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
50 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
51 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
52 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
54 copy firmware.cab
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\
%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
60 erase firmware.metainfo.xml
62 erase %FMP_CAPSULE_FILE%
65 if exist "NewCert.pem" (
67 REM Sign capsule using OpenSSL with a new certificate
69 call GenerateCapsule ^
72 --guid
%FMP_CAPSULE_GUID% ^
73 --fw
-version
%FMP_CAPSULE_VERSION% ^
74 --lsv
%FMP_CAPSULE_LSV% ^
75 --capflag PersistAcrossReset ^
76 --capflag InitiateReset ^
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 copy %FMP_CAPSULE_FILE% firmware.bin
86 copy template.metainfo.xml firmware.metainfo.xml
87 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
88 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
89 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
90 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
91 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
93 copy firmware.cab
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\
%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
99 erase firmware.metainfo.xml
101 erase %FMP_CAPSULE_FILE%
105 REM Sign capsule using OpenSSL with EDK II Test Certificate
107 call GenerateCapsule ^
110 --guid
%FMP_CAPSULE_GUID% ^
111 --fw
-version
%FMP_CAPSULE_VERSION% ^
112 --lsv
%FMP_CAPSULE_LSV% ^
113 --capflag PersistAcrossReset ^
114 --capflag InitiateReset ^
115 --signer
-private
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestCert.pem ^
116 --other
-public
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestSub.pub.pem ^
117 --trusted
-public
-cert
=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestRoot.pub.pem ^
118 -o
%FMP_CAPSULE_FILE% ^
119 %FMP_CAPSULE_PAYLOAD%
121 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert
123 copy %FMP_CAPSULE_FILE% firmware.bin
124 copy template.metainfo.xml firmware.metainfo.xml
125 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
126 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
127 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
128 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
129 powershell
-Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
131 copy firmware.cab
%WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\
%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
137 erase firmware.metainfo.xml
139 erase %FMP_CAPSULE_FILE%