GenCapsuleSampleColor.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. # @file
  2. # Linux script file to generate UEFI capsules for a sample device
  3. #
  4. # Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
  5. #
  6. # SPDX-License-Identifier: BSD-2-Clause-Patent
  7. #
  8. COLOR=$1
  9. FMP_CAPSULE_VENDOR=Intel
  10. FMP_CAPSULE_GUID=$2
  11. FMP_CAPSULE_FILE=$COLOR.cap
  12. FMP_CAPSULE_VERSION=0x00000010
  13. FMP_CAPSULE_STRING=0.0.0.16
  14. FMP_CAPSULE_NAME="$COLOR Progress Bar $FMP_CAPSULE_STRING"
  15. FMP_CAPSULE_LSV=0x00000000
  16. FMP_CAPSULE_PAYLOAD=Payload.bin
  17. echo "$COLOR Progress Bar" > $FMP_CAPSULE_PAYLOAD
  18. if [ ! -e "$FMP_CAPSULE_PAYLOAD" ] ; then
  19. return
  20. fi
  21. if [ -e NewCert.pem ]; then
  22. #
  23. # Sign capsule using OpenSSL with a new certificate
  24. #
  25. GenerateCapsule \
  26. --encode \
  27. -v \
  28. --guid $FMP_CAPSULE_GUID \
  29. --fw-version $FMP_CAPSULE_VERSION \
  30. --lsv $FMP_CAPSULE_LSV \
  31. --capflag PersistAcrossReset \
  32. --capflag InitiateReset \
  33. --signer-private-cert=NewCert.pem \
  34. --other-public-cert=NewSub.pub.pem \
  35. --trusted-public-cert=NewRoot.pub.pem \
  36. -o $FMP_CAPSULE_FILE \
  37. $FMP_CAPSULE_PAYLOAD
  38. cp $FMP_CAPSULE_FILE $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert
  39. rm $FMP_CAPSULE_FILE
  40. fi
  41. #
  42. # Sign capsule using OpenSSL with EDK II Test Certificate
  43. #
  44. GenerateCapsule \
  45. --encode \
  46. -v \
  47. --guid $FMP_CAPSULE_GUID \
  48. --fw-version $FMP_CAPSULE_VERSION \
  49. --lsv $FMP_CAPSULE_LSV \
  50. --capflag PersistAcrossReset \
  51. --capflag InitiateReset \
  52. --signer-private-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestCert.pem \
  53. --other-public-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestSub.pub.pem \
  54. --trusted-public-cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign/TestRoot.pub.pem \
  55. -o $FMP_CAPSULE_FILE \
  56. $FMP_CAPSULE_PAYLOAD
  57. cp $FMP_CAPSULE_FILE $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert
  58. rm $FMP_CAPSULE_FILE
  59. rm $FMP_CAPSULE_PAYLOAD