]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinnowMax.bat
Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS generation scripts
[mirror_edk2.git] / Vlv2TbltDevicePkg / Feature / Capsule / GenerateCapsule / LvfsGenCapsuleMinnowMax.bat
1 @REM @file
2 @REM Windows batch file to generate UEFI capsules for system firmware
3 @REM
4 @REM Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
5 @REM
6 @REM SPDX-License-Identifier: BSD-2-Clause-Patent
7 @REM
8
9 @echo off
10 setlocal
11
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
24
25 if not exist "%FMP_CAPSULE_PAYLOAD%" exit /b
26
27 if exist "%FMP_CAPSULE_KEY%" (
28 REM
29 REM Sign capsule using signtool
30 REM
31 call GenerateCapsule ^
32 --encode ^
33 -v ^
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% ^
42 %FMP_CAPSULE_PAYLOAD%
43
44 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment
45
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"
53 makecab /f Lvfs.ddf
54 copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
55
56 erase firmware.cab
57 erase setup.inf
58 erase setup.rpt
59
60 erase firmware.metainfo.xml
61 erase firmware.bin
62 erase %FMP_CAPSULE_FILE%
63 )
64
65 if exist "NewCert.pem" (
66 REM
67 REM Sign capsule using OpenSSL with a new certificate
68 REM
69 call GenerateCapsule ^
70 --encode ^
71 -v ^
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% ^
81 %FMP_CAPSULE_PAYLOAD%
82
83 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert
84
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"
92 makecab /f Lvfs.ddf
93 copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
94
95 erase firmware.cab
96 erase setup.inf
97 erase setup.rpt
98
99 erase firmware.metainfo.xml
100 erase firmware.bin
101 erase %FMP_CAPSULE_FILE%
102 )
103
104 REM
105 REM Sign capsule using OpenSSL with EDK II Test Certificate
106 REM
107 call GenerateCapsule ^
108 --encode ^
109 -v ^
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%
120
121 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert
122
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"
130 makecab /f Lvfs.ddf
131 copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
132
133 erase firmware.cab
134 erase setup.inf
135 erase setup.rpt
136
137 erase firmware.metainfo.xml
138 erase firmware.bin
139 erase %FMP_CAPSULE_FILE%