LvfsGenCapsuleMinnowMaxRelease.bat 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. @echo off
  9. setlocal
  10. set FMP_CAPSULE_VENDOR=Intel
  11. set FMP_CAPSULE_GUID=4096267b-da0a-42eb-b5eb-fef31d207cb4
  12. set FMP_CAPSULE_BASE_NAME=MinnowMaxRelease
  13. set FMP_CAPSULE_FILE=%FMP_CAPSULE_BASE_NAME%.cap
  14. set FMP_CAPSULE_VERSION=0x0000000C
  15. set FMP_CAPSULE_VERSION_DECIMAL=12
  16. set FMP_CAPSULE_STRING=0.0.0.12
  17. set FMP_CAPSULE_NAME="Intel %FMP_CAPSULE_BASE_NAME% RELEASE UEFI %FMP_CAPSULE_STRING%"
  18. set FMP_CAPSULE_LSV=0x00000000
  19. set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
  20. set FMP_CAPSULE_PAYLOAD=%WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x86\FV\Vlv.ROM
  21. set WINDOWS_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
  22. if not exist "%FMP_CAPSULE_PAYLOAD%" exit /b
  23. if exist "%FMP_CAPSULE_KEY%" (
  24. REM
  25. REM Sign capsule using signtool
  26. REM
  27. call GenerateCapsule ^
  28. --encode ^
  29. -v ^
  30. --guid %FMP_CAPSULE_GUID% ^
  31. --fw-version %FMP_CAPSULE_VERSION% ^
  32. --lsv %FMP_CAPSULE_LSV% ^
  33. --capflag PersistAcrossReset ^
  34. --capflag InitiateReset ^
  35. --signing-tool-path="c:\Program Files (x86)\Windows Kits\8.1\bin\x86" ^
  36. --pfx-file %FMP_CAPSULE_KEY% ^
  37. -o %FMP_CAPSULE_FILE% ^
  38. %FMP_CAPSULE_PAYLOAD%
  39. copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\SampleDevelopment
  40. copy %FMP_CAPSULE_FILE% firmware.bin
  41. copy template.metainfo.xml firmware.metainfo.xml
  42. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
  43. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
  44. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
  45. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
  46. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
  47. makecab /f Lvfs.ddf
  48. copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
  49. erase firmware.cab
  50. erase setup.inf
  51. erase setup.rpt
  52. erase firmware.metainfo.xml
  53. erase firmware.bin
  54. erase %FMP_CAPSULE_FILE%
  55. )
  56. if exist "NewCert.pem" (
  57. REM
  58. REM Sign capsule using OpenSSL with a new certificate
  59. REM
  60. call GenerateCapsule ^
  61. --encode ^
  62. -v ^
  63. --guid %FMP_CAPSULE_GUID% ^
  64. --fw-version %FMP_CAPSULE_VERSION% ^
  65. --lsv %FMP_CAPSULE_LSV% ^
  66. --capflag PersistAcrossReset ^
  67. --capflag InitiateReset ^
  68. --signer-private-cert=NewCert.pem ^
  69. --other-public-cert=NewSub.pub.pem ^
  70. --trusted-public-cert=NewRoot.pub.pem ^
  71. -o %FMP_CAPSULE_FILE% ^
  72. %FMP_CAPSULE_PAYLOAD%
  73. copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\NewCert
  74. copy %FMP_CAPSULE_FILE% firmware.bin
  75. copy template.metainfo.xml firmware.metainfo.xml
  76. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
  77. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
  78. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
  79. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
  80. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
  81. makecab /f Lvfs.ddf
  82. copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
  83. erase firmware.cab
  84. erase setup.inf
  85. erase setup.rpt
  86. erase firmware.metainfo.xml
  87. erase firmware.bin
  88. erase %FMP_CAPSULE_FILE%
  89. )
  90. REM
  91. REM Sign capsule using OpenSSL with EDK II Test Certificate
  92. REM
  93. call GenerateCapsule ^
  94. --encode ^
  95. -v ^
  96. --guid %FMP_CAPSULE_GUID% ^
  97. --fw-version %FMP_CAPSULE_VERSION% ^
  98. --lsv %FMP_CAPSULE_LSV% ^
  99. --capflag PersistAcrossReset ^
  100. --capflag InitiateReset ^
  101. --signer-private-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestCert.pem ^
  102. --other-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestSub.pub.pem ^
  103. --trusted-public-cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\TestRoot.pub.pem ^
  104. -o %FMP_CAPSULE_FILE% ^
  105. %FMP_CAPSULE_PAYLOAD%
  106. copy %FMP_CAPSULE_FILE% %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert
  107. copy %FMP_CAPSULE_FILE% firmware.bin
  108. copy template.metainfo.xml firmware.metainfo.xml
  109. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_GUID', '%FMP_CAPSULE_GUID%' | Out-File firmware.metainfo.xml -encoding ASCII"
  110. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_BASE_NAME', '%FMP_CAPSULE_BASE_NAME%' | Out-File firmware.metainfo.xml -encoding ASCII"
  111. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_VERSION_DECIMAL', '%FMP_CAPSULE_VERSION_DECIMAL%' | Out-File firmware.metainfo.xml -encoding ASCII"
  112. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_STRING', '%FMP_CAPSULE_STRING%' | Out-File firmware.metainfo.xml -encoding ASCII"
  113. powershell -Command "(gc firmware.metainfo.xml) -replace 'FMP_CAPSULE_DATE', '%date%' | Out-File firmware.metainfo.xml -encoding ASCII"
  114. makecab /f Lvfs.ddf
  115. copy firmware.cab %WORKSPACE%\Build\Vlv2TbltDevicePkg\Capsules\TestCert\%FMP_CAPSULE_BASE_NAME%-%FMP_CAPSULE_STRING%.cab
  116. erase firmware.cab
  117. erase setup.inf
  118. erase setup.rpt
  119. erase firmware.metainfo.xml
  120. erase firmware.bin
  121. erase %FMP_CAPSULE_FILE%