LvfsGenCapsuleSampleColor.bat 6.1 KB

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