123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- @REM @file
- @REM Windows batch file to generate UEFI capsules for system firmware
- @REM
- @REM Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
- @REM
- @REM SPDX-License-Identifier: BSD-2-Clause-Patent
- @REM
- @echo off
- setlocal
- set FMP_CAPSULE_VENDOR=Intel
- set FMP_CAPSULE_GUID=4096267b-da0a-42eb-b5eb-fef31d207cb4
- set FMP_CAPSULE_BASE_NAME=MinnowMaxRelease
- set FMP_CAPSULE_FILE=%FMP_CAPSULE_BASE_NAME%.cap
- set FMP_CAPSULE_VERSION=0x0000000C
- set FMP_CAPSULE_VERSION_DECIMAL=12
- set FMP_CAPSULE_STRING=0.0.0.12
- set FMP_CAPSULE_NAME="Intel %FMP_CAPSULE_BASE_NAME% RELEASE UEFI %FMP_CAPSULE_STRING%"
- set FMP_CAPSULE_LSV=0x00000000
- set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
- set FMP_CAPSULE_PAYLOAD=%WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x86\FV\Vlv.ROM
- set WINDOWS_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
- if not exist "%FMP_CAPSULE_PAYLOAD%" exit /b
- if exist "%FMP_CAPSULE_KEY%" (
- REM
- REM Sign capsule using signtool
- REM
- call GenerateCapsule ^
- --encode ^
- -v ^
- --guid %FMP_CAPSULE_GUID% ^
- --fw-version %FMP_CAPSULE_VERSION% ^
- --lsv %FMP_CAPSULE_LSV% ^
- --capflag PersistAcrossReset ^
- --capflag InitiateReset ^
- --signing-tool-path="c:\Program Files (x86)\Windows Kits\8.1\bin\x86" ^
- --pfx-file %FMP_CAPSULE_KEY% ^
- -o %FMP_CAPSULE_FILE% ^
- %FMP_CAPSULE_PAYLOAD%
- copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment
- copy %FMP_CAPSULE_FILE% firmware.bin
- copy template.metainfo.xml firmware.metainfo.xml
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
- makecab /f Lvfs.ddf
- copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
- erase firmware.cab
- erase setup.inf
- erase setup.rpt
- erase firmware.metainfo.xml
- erase firmware.bin
- erase %FMP_CAPSULE_FILE%
- )
- if exist "NewCert.pem" (
- REM
- REM Sign capsule using OpenSSL with a new certificate
- REM
- call GenerateCapsule ^
- --encode ^
- -v ^
- --guid %FMP_CAPSULE_GUID% ^
- --fw-version %FMP_CAPSULE_VERSION% ^
- --lsv %FMP_CAPSULE_LSV% ^
- --capflag PersistAcrossReset ^
- --capflag InitiateReset ^
- --signer-private-cert=NewCert.pem ^
- --other-public-cert=NewSub.pub.pem ^
- --trusted-public-cert=NewRoot.pub.pem ^
- -o %FMP_CAPSULE_FILE% ^
- %FMP_CAPSULE_PAYLOAD%
- copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert
- copy %FMP_CAPSULE_FILE% firmware.bin
- copy template.metainfo.xml firmware.metainfo.xml
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
- makecab /f Lvfs.ddf
- copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
- erase firmware.cab
- erase setup.inf
- erase setup.rpt
- erase firmware.metainfo.xml
- erase firmware.bin
- erase %FMP_CAPSULE_FILE%
- )
- REM
- REM Sign capsule using OpenSSL with EDK II Test Certificate
- REM
- call GenerateCapsule ^
- --encode ^
- -v ^
- --guid %FMP_CAPSULE_GUID% ^
- --fw-version %FMP_CAPSULE_VERSION% ^
- --lsv %FMP_CAPSULE_LSV% ^
- --capflag PersistAcrossReset ^
- --capflag InitiateReset ^
- --signer-private-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestCert.pem ^
- --other-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestSub.pub.pem ^
- --trusted-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestRoot.pub.pem ^
- -o %FMP_CAPSULE_FILE% ^
- %FMP_CAPSULE_PAYLOAD%
- copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert
- copy %FMP_CAPSULE_FILE% firmware.bin
- copy template.metainfo.xml firmware.metainfo.xml
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
- powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
- makecab /f Lvfs.ddf
- copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
- erase firmware.cab
- erase setup.inf
- erase setup.rpt
- erase firmware.metainfo.xml
- erase firmware.bin
- erase %FMP_CAPSULE_FILE%
|