]> git.proxmox.com Git - mirror_edk2.git/blob - Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSampleColor.bat
1dbbe7341d647add2fd71db863fef42b9f971fee
[mirror_edk2.git] / Vlv2TbltDevicePkg / Feature / Capsule / GenerateCapsule / LvfsGenCapsuleSampleColor.bat
1 @REM @file
2 @REM Windows batch file to generate UEFI capsules for a sample device
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 COLOR=%1
13
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
26
27 echo "%COLOR% Progress Bar" > %FMP_CAPSULE_PAYLOAD%
28
29 if not exist "%FMP_CAPSULE_PAYLOAD%" exit
30
31 if exist "%FMP_CAPSULE_KEY%" (
32 REM
33 REM Sign capsule using signtool
34 REM
35 call GenerateCapsule ^
36 --encode ^
37 -v ^
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% ^
46 %FMP_CAPSULE_PAYLOAD%
47
48 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment
49
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"
57 makecab /f Lvfs.ddf
58 copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
59
60 erase firmware.cab
61 erase setup.inf
62 erase setup.rpt
63
64 erase firmware.metainfo.xml
65 erase firmware.bin
66 erase %FMP_CAPSULE_FILE%
67 )
68
69 if exist "NewCert.pem" (
70 REM
71 REM Sign capsule using OpenSSL with a new certificate
72 REM
73 call GenerateCapsule ^
74 --encode ^
75 -v ^
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% ^
85 %FMP_CAPSULE_PAYLOAD%
86
87 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert
88
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"
96 makecab /f Lvfs.ddf
97 copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
98
99 erase firmware.cab
100 erase setup.inf
101 erase setup.rpt
102
103 erase firmware.metainfo.xml
104 erase firmware.bin
105 erase %FMP_CAPSULE_FILE%
106 )
107
108 REM
109 REM Sign capsule using OpenSSL with EDK II Test Certificate
110 REM
111 call GenerateCapsule ^
112 --encode ^
113 -v ^
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%
124
125 copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert
126
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"
134 makecab /f Lvfs.ddf
135 copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
136
137 erase firmware.cab
138 erase setup.inf
139 erase setup.rpt
140
141 erase firmware.metainfo.xml
142 erase firmware.bin
143 erase %FMP_CAPSULE_FILE%
144
145 erase %FMP_CAPSULE_PAYLOAD%