public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Sun, Zailiang" <zailiang.sun@intel.com>
To: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Qian, Yi" <yi.qian@intel.com>
Subject: Re: [Patch 15/16] Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS generation scripts
Date: Thu, 9 May 2019 07:55:26 +0000	[thread overview]
Message-ID: <7CB7EF03E15B5D48981329A508747A9850C62EF3@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20190509043111.15272-16-michael.d.kinney@intel.com>

Reviewed-by: Zailiang Sun <zailiang.sun@intel.com>

> -----Original Message-----
> From: Kinney, Michael D
> Sent: Thursday, May 9, 2019 12:31 PM
> To: devel@edk2.groups.io
> Cc: Sun, Zailiang <zailiang.sun@intel.com>; Qian, Yi <yi.qian@intel.com>
> Subject: [Patch 15/16] Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS
> generation scripts
> 
> Add batch scripts to generate the LVFS compatible capsule update driver.
> 
> Add DSC/FDF files to build capsules and invoke post build shell scripts for
> Linux build environments.
> 
> Make versions consistent.
> 
> Cc: Zailiang Sun <zailiang.sun@intel.com>
> Cc: Yi Qian <yi.qian@intel.com>
> Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
> ---
>  .../Capsule/GenerateCapsule/GenCapsuleAll.bat |  12 +-
>   .../Capsule/GenerateCapsule/GenCapsuleAll.sh  |  28 ++++
>  .../GenerateCapsule/GenCapsuleMinnowMax.bat   |   4 +-
>  .../GenerateCapsule/GenCapsuleMinnowMax.sh    |  65 ++++++++
>  .../GenCapsuleMinnowMaxRelease.bat            |   4 +-
>  .../GenCapsuleMinnowMaxRelease.sh             |  65 ++++++++
>  .../GenerateCapsule/GenCapsuleSampleColor.sh  |  70
> +++++++++  .../Feature/Capsule/GenerateCapsule/Lvfs.ddf  |  14 ++
>  .../LvfsGenCapsuleMinnowMax.bat               | 139 +++++++++++++++++
>  .../LvfsGenCapsuleMinnowMaxRelease.bat        | 139 +++++++++++++++++
>  .../LvfsGenCapsuleSampleColor.bat             | 145 ++++++++++++++++++
>  .../GenerateCapsule/template.metainfo.xml     |  27 ++++
>  Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc      |  38 +++++
>  13 files changed, 743 insertions(+), 7 deletions(-)  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh
>  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnow
> Max.sh
>  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinnow
> MaxRelease.sh
>  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampleC
> olor.sh
>  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs.ddf
>  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinn
> owMax.bat
>  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMinn
> owMaxRelease.bat
>  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSam
> pleColor.bat
>  create mode 100644
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.metainfo.x
> ml
>  create mode 100644 Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc
> 
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat
> index 187797e284..8f589565fa 100644
> ---
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.bat
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.ba
> +++ t
> @@ -24,6 +24,12 @@
> copy %WORKSPACE%\Build\Vlv2TbltDevicePkg\RELEASE_VS2015x86\X64\Ca
> psuleApp.efi %W
> 
>  call GenCapsuleMinnowMax.bat
>  call GenCapsuleMinnowMaxRelease.bat
> -call GenCapsuleSampleColor.bat Blue  149DA854-7D19-4FAA-A91E-
> 862EA1324BE6
> -call GenCapsuleSampleColor.bat Green 79179BFD-704D-4C90-9E02-
> 0AB8D968C18A
> -call GenCapsuleSampleColor.bat Red   72E2945A-00DA-448E-9AA7-
> 075AD840F9D4
> +call GenCapsuleSampleColor.bat Blue
> +149da854-7d19-4faa-a91e-862ea1324be6
> +call GenCapsuleSampleColor.bat Green 79179bfd-704d-4c90-9e02-
> 0ab8d968c18a
> +call GenCapsuleSampleColor.bat Red   72e2945a-00da-448e-9aa7-
> 075ad840f9d4
> +
> +call LvfsGenCapsuleMinnowMax.bat
> +call LvfsGenCapsuleMinnowMaxRelease.bat
> +call LvfsGenCapsuleSampleColor.bat Blue
> +149da854-7d19-4faa-a91e-862ea1324be6
> +call LvfsGenCapsuleSampleColor.bat Green 79179bfd-704d-4c90-9e02-
> 0ab8d968c18a
> +call LvfsGenCapsuleSampleColor.bat Red   72e2945a-00da-448e-9aa7-
> 075ad840f9d4
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh
> new file mode 100644
> index 0000000000..040024553a
> --- /dev/null
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh
> @@ -0,0 +1,28 @@
> +# @file
> +#   Linux script file to generate UEFI capsules for system firmware and
> +#   firmware for sample devices
> +#
> +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent #
> +
> +cd $(dirname $0)
> +
> +rm -R $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules
> +mkdir $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules
> +mkdir
> $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/SampleDevelopment
> +mkdir $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert
> +mkdir $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert
> +cp
> $WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/X64/CapsuleApp.efi
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/SampleDevelopment/Ca
> psuleAp
> +p.efi cp
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.
> efi
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/SampleDevelopment/Ca
> psuleAp
> +pRelease.efi cp
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/X64/CapsuleApp.ef
> i
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert/CapsuleApp.efi
> +cp
> $WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.ef
> i
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert/CapsuleAppRel
> ease.e
> +fi cp
> $WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_GCC49/X64/CapsuleApp.efi
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert/CapsuleApp.efi
> +cp
> $WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE_GCC49/X64/CapsuleApp.ef
> i
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert/CapsuleAppRel
> ease.
> +efi
> +
> +. GenCapsuleMinnowMax.sh
> +. GenCapsuleMinnowMaxRelease.sh
> +. GenCapsuleSampleColor.sh Blue  149DA854-7D19-4FAA-A91E-
> 862EA1324BE6
> +. GenCapsuleSampleColor.sh Green 79179BFD-704D-4C90-9E02-
> 0AB8D968C18A
> +. GenCapsuleSampleColor.sh Red   72E2945A-00DA-448E-9AA7-
> 075AD840F9D4
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMax.bat
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMax.bat
> index 50ebb160ee..6e4afd201e 100644
> ---
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMax.bat
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> w
> +++ Max.bat
> @@ -11,8 +11,8 @@ setlocal
>  set FMP_CAPSULE_VENDOR=Intel
>  set FMP_CAPSULE_GUID=4096267B-DA0A-42EB-B5EB-FEF31D207CB4
>  set FMP_CAPSULE_FILE=MinnowMax.cap
> -set FMP_CAPSULE_VERSION=0x00000009
> -set FMP_CAPSULE_STRING=0.0.0.9
> +set FMP_CAPSULE_VERSION=0x0000000C
> +set FMP_CAPSULE_STRING=0.0.0.12
>  set FMP_CAPSULE_NAME="Intel MinnowMax DEBUG
> UEFI %FMP_CAPSULE_STRING%"
>  set FMP_CAPSULE_LSV=0x00000000
>  set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMax.sh
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMax.sh
> new file mode 100644
> index 0000000000..4fb963c93c
> --- /dev/null
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> w
> +++ Max.sh
> @@ -0,0 +1,65 @@
> +# @file
> +#   Linux script file to generate UEFI capsules for system firmware
> +#
> +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent #
> +
> +FMP_CAPSULE_VENDOR=Intel
> +FMP_CAPSULE_GUID=4096267B-DA0A-42EB-B5EB-FEF31D207CB4
> +FMP_CAPSULE_FILE=MinnowMax.cap
> +FMP_CAPSULE_VERSION=0x0000000C
> +FMP_CAPSULE_STRING=0.0.0.12
> +FMP_CAPSULE_NAME="Intel MinnowMax DEBUG UEFI
> $FMP_CAPSULE_STRING"
> +FMP_CAPSULE_LSV=0x00000000
> +FMP_CAPSULE_PAYLOAD=$WORKSPACE/Build/Vlv2TbltDevicePkg/DEBUG_
> GCC49/FV/V
> +lv.ROM
> +
> +if [ ! -e "$FMP_CAPSULE_PAYLOAD" ] ; then
> +  return
> +fi
> +
> +if [ -e NewCert.pem ]; then
> +  #
> +  # Sign capsule using OpenSSL with a new certificate
> +  #
> +  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
> +
> +  cp $FMP_CAPSULE_FILE
> + $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert
> +
> +  rm $FMP_CAPSULE_FILE
> +fi
> +
> +#
> +# Sign capsule using OpenSSL with EDK II Test Certificate #
> +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/T
> +estSub.pub.pem \
> +
> +--trusted-public-
> cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign
> +/TestRoot.pub.pem \
> +  -o $FMP_CAPSULE_FILE \
> +  $FMP_CAPSULE_PAYLOAD
> +
> +cp $FMP_CAPSULE_FILE
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert
> +
> +rm $FMP_CAPSULE_FILE
> +
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMaxRelease.bat
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMaxRelease.bat
> index 9d08c86717..43c609e4b2 100644
> ---
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMaxRelease.bat
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> w
> +++ MaxRelease.bat
> @@ -11,8 +11,8 @@ setlocal
>  set FMP_CAPSULE_VENDOR=Intel
>  set FMP_CAPSULE_GUID=4096267B-DA0A-42EB-B5EB-FEF31D207CB4
>  set FMP_CAPSULE_FILE=MinnowMaxRelease.cap
> -set FMP_CAPSULE_VERSION=0x00000009
> -set FMP_CAPSULE_STRING=0.0.0.9
> +set FMP_CAPSULE_VERSION=0x0000000C
> +set FMP_CAPSULE_STRING=0.0.0.12
>  set FMP_CAPSULE_NAME="Intel MinnowMax RELEASE
> UEFI %FMP_CAPSULE_STRING%"
>  set FMP_CAPSULE_LSV=0x00000000
>  set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMaxRelease.sh
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> wMaxRelease.sh
> new file mode 100644
> index 0000000000..29d46dad1e
> --- /dev/null
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleMinno
> w
> +++ MaxRelease.sh
> @@ -0,0 +1,65 @@
> +# @file
> +#   Linux script file to generate UEFI capsules for system firmware
> +#
> +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent #
> +
> +FMP_CAPSULE_VENDOR=Intel
> +FMP_CAPSULE_GUID=4096267B-DA0A-42EB-B5EB-FEF31D207CB4
> +FMP_CAPSULE_FILE=MinnowMaxRelease.cap
> +FMP_CAPSULE_VERSION=0x0000000C
> +FMP_CAPSULE_STRING=0.0.0.12
> +FMP_CAPSULE_NAME="Intel MinnowMax RELEASE UEFI
> $FMP_CAPSULE_STRING"
> +FMP_CAPSULE_LSV=0x00000000
> +FMP_CAPSULE_PAYLOAD=$WORKSPACE/Build/Vlv2TbltDevicePkg/RELEASE
> _GCC49/FV
> +/Vlv.ROM
> +
> +if [ ! -e "$FMP_CAPSULE_PAYLOAD" ] ; then
> +  return
> +fi
> +
> +if [ -e NewCert.pem ]; then
> +  #
> +  # Sign capsule using OpenSSL with a new certificate
> +  #
> +  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
> +
> +  cp $FMP_CAPSULE_FILE
> + $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert
> +
> +  rm $FMP_CAPSULE_FILE
> +fi
> +
> +#
> +# Sign capsule using OpenSSL with EDK II Test Certificate #
> +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/T
> +estSub.pub.pem \
> +
> +--trusted-public-
> cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign
> +/TestRoot.pub.pem \
> +  -o $FMP_CAPSULE_FILE \
> +  $FMP_CAPSULE_PAYLOAD
> +
> +cp $FMP_CAPSULE_FILE
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert
> +
> +rm $FMP_CAPSULE_FILE
> +
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampl
> eColor.sh
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampl
> eColor.sh
> new file mode 100644
> index 0000000000..a1c6f28cde
> --- /dev/null
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleSampl
> e
> +++ Color.sh
> @@ -0,0 +1,70 @@
> +# @file
> +#   Linux script file to generate UEFI capsules for a sample device
> +#
> +# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR> # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent #
> +
> +COLOR=$1
> +
> +FMP_CAPSULE_VENDOR=Intel
> +FMP_CAPSULE_GUID=$2
> +FMP_CAPSULE_FILE=$COLOR.cap
> +FMP_CAPSULE_VERSION=0x00000010
> +FMP_CAPSULE_STRING=0.0.0.16
> +FMP_CAPSULE_NAME="$COLOR Progress Bar $FMP_CAPSULE_STRING"
> +FMP_CAPSULE_LSV=0x00000000
> +FMP_CAPSULE_PAYLOAD=Payload.bin
> +
> +echo "$COLOR Progress Bar" > $FMP_CAPSULE_PAYLOAD
> +
> +if [ ! -e "$FMP_CAPSULE_PAYLOAD" ] ; then
> +  return
> +fi
> +
> +if [ -e NewCert.pem ]; then
> +  #
> +  # Sign capsule using OpenSSL with a new certificate
> +  #
> +  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
> +
> +  cp $FMP_CAPSULE_FILE
> + $WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/NewCert
> +
> +  rm $FMP_CAPSULE_FILE
> +fi
> +
> +#
> +# Sign capsule using OpenSSL with EDK II Test Certificate #
> +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/T
> +estSub.pub.pem \
> +
> +--trusted-public-
> cert=$WORKSPACE/edk2/BaseTools/Source/Python/Pkcs7Sign
> +/TestRoot.pub.pem \
> +  -o $FMP_CAPSULE_FILE \
> +  $FMP_CAPSULE_PAYLOAD
> +
> +cp $FMP_CAPSULE_FILE
> +$WORKSPACE/Build/Vlv2TbltDevicePkg/Capsules/TestCert
> +
> +rm $FMP_CAPSULE_FILE
> +
> +rm $FMP_CAPSULE_PAYLOAD
> diff --git a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs.ddf
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs.ddf
> new file mode 100644
> index 0000000000..f2c925a6dd
> --- /dev/null
> +++ b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/Lvfs.ddf
> @@ -0,0 +1,14 @@
> +.OPTION EXPLICIT ; Generate errors on variable typos
> +
> +.Set CabinetNameTemplate=firmware.cab ; The name of the file .set
> +DiskDirectoryTemplate=CDROM ; All cabinets go in a single directory
> +.Set Cabinet=on ; .Set Compress=on ; .Set DiskDirectory1=.
> +.Set MaxDiskSize=99999744               ; multiple of 512
> +
> +;*** Files to zip ;
> +;
> +firmware.bin
> +firmware.metainfo.xml
> +;***
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMi
> nnowMax.bat
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMi
> nnowMax.bat
> new file mode 100644
> index 0000000000..dd8274a1cc
> --- /dev/null
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMi
> +++ nnowMax.bat
> @@ -0,0 +1,139 @@
> +@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=MinnowMax
> +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% DEBUG
> UEFI %FMP_CAPSULE_STRING%"
> +set FMP_CAPSULE_LSV=0x00000000
> +set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
> +set
> +FMP_CAPSULE_PAYLOAD=%WORKSPACE%\Build\Vlv2TbltDevicePkg\DEBU
> G_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_CAPS
> ULE_BAS
> + E_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_CAPS
> ULE_BAS
> + E_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\Pkcs7Sig
> +n\TestCert.pem ^
> +
> +--other-public-
> cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\
> +TestSub.pub.pem ^
> +
> +--trusted-public-
> cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig
> +n\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_CAPS
> ULE_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%
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMi
> nnowMaxRelease.bat
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMi
> nnowMaxRelease.bat
> new file mode 100644
> index 0000000000..2b68a98f98
> --- /dev/null
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleMi
> +++ nnowMaxRelease.bat
> @@ -0,0 +1,139 @@
> +@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\RELEA
> SE_VS2015x
> +86\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_CAPS
> ULE_BAS
> + E_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_CAPS
> ULE_BAS
> + E_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\Pkcs7Sig
> +n\TestCert.pem ^
> +
> +--other-public-
> cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\
> +TestSub.pub.pem ^
> +
> +--trusted-public-
> cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig
> +n\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_CAPS
> ULE_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%
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSa
> mpleColor.bat
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSa
> mpleColor.bat
> new file mode 100644
> index 0000000000..1dbbe7341d
> --- /dev/null
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/LvfsGenCapsuleSa
> +++ mpleColor.bat
> @@ -0,0 +1,145 @@
> +@REM @file
> +@REM   Windows batch file to generate UEFI capsules for a sample device
> +@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 COLOR=%1
> +
> +set FMP_CAPSULE_VENDOR=Intel
> +set FMP_CAPSULE_GUID=%2
> +set FMP_CAPSULE_BASE_NAME=%COLOR%
> +set FMP_CAPSULE_FILE=%FMP_CAPSULE_BASE_NAME%.cap
> +set FMP_CAPSULE_VERSION=0x00000010
> +set FMP_CAPSULE_VERSION_DECIMAL=16
> +set FMP_CAPSULE_STRING=0.0.0.16
> +set FMP_CAPSULE_NAME="%FMP_CAPSULE_BASE_NAME% Progress
> Bar %FMP_CAPSULE_STRING%"
> +set FMP_CAPSULE_LSV=0x00000000
> +set FMP_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
> +set FMP_CAPSULE_PAYLOAD=Payload.bin
> +set WINDOWS_CAPSULE_KEY=SAMPLE_DEVELOPMENT.pfx
> +
> +echo "%COLOR% Progress Bar" > %FMP_CAPSULE_PAYLOAD%
> +
> +if not exist "%FMP_CAPSULE_PAYLOAD%" exit
> +
> +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_CAPS
> ULE_BAS
> + E_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_CAPS
> ULE_BAS
> + E_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\Pkcs7Sig
> +n\TestCert.pem ^
> +
> +--other-public-
> cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sign\
> +TestSub.pub.pem ^
> +
> +--trusted-public-
> cert=%WORKSPACE%\edk2\BaseTools\Source\Python\Pkcs7Sig
> +n\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_CAPS
> ULE_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%
> +
> +erase %FMP_CAPSULE_PAYLOAD%
> diff --git
> a/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.metainfo
> .xml
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.metainfo
> .xml
> new file mode 100644
> index 0000000000..5d550c1f48
> --- /dev/null
> +++
> b/Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/template.metainf
> +++ o.xml
> @@ -0,0 +1,27 @@
> +<?xml version="1.0" encoding="UTF-8"?>
> +<component type="firmware">
> +  <id>com.intel.FMP_CAPSULE_BASE_NAME.firmware</id>
> +  <name>FMP_CAPSULE_BASE_NAME</name>
> +  <summary>System firmware for the
> FMP_CAPSULE_BASE_NAME</summary>
> +  <description>
> +    Description of System firmware for the FMP_CAPSULE_BASE_NAME
> +  </description>
> +  <provides>
> +    <firmware type="flashed">FMP_CAPSULE_GUID</firmware>
> +  </provides>
> +  <url type="homepage">http://www.tianocore.org</url>
> +  <metadata_license>CC0-1.0</metadata_license>
> +  <project_license>BSD</project_license>
> +  <developer_name>Tianocore</developer_name>
> +  <releases>
> +    <release version="FMP_CAPSULE_VERSION_DECIMAL"
> date="FMP_CAPSULE_DATE">
> +      <description>
> +        Build FMP_CAPSULE_STRING
> +      </description>
> +    </release>
> +  </releases>
> +  <!-- most OEMs do not need to do this... -->
> +  <custom>
> +    <value key="LVFS::InhibitDownload"/>
> +  </custom>
> +</component>
> diff --git a/Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc
> b/Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc
> new file mode 100644
> index 0000000000..1856ac349b
> --- /dev/null
> +++ b/Vlv2TbltDevicePkg/PlatformCapsuleGcc.dsc
> @@ -0,0 +1,38 @@
> +#/** @file
> +# Platform capsule description.
> +#
> +# Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> # #
> +SPDX-License-Identifier: BSD-2-Clause-Patent # #**/
> +
> +[Defines]
> +  PLATFORM_NAME                  = Vlv2TbltDevicePkg
> +  PLATFORM_GUID                  = EE87F258-6ECC-4415-B1D8-23771BEE26E7
> +  PLATFORM_VERSION               = 0.1
> +  FLASH_DEFINITION               = Vlv2TbltDevicePkg/PlatformCapsuleGcc.fdf
> +  OUTPUT_DIRECTORY               = Build/Vlv2TbltDevicePkg
> +  SUPPORTED_ARCHITECTURES        = IA32|X64
> +  BUILD_TARGETS                  = DEBUG|RELEASE
> +  SKUID_IDENTIFIER               = DEFAULT
> +  POSTBUILD                      =
> Vlv2TbltDevicePkg/Feature/Capsule/GenerateCapsule/GenCapsuleAll.sh
> +
> +#########################################################
> ##############
> +############################
> +#
> +# Components Section - list of the modules and components that will be
> processed by compilation
> +#                      tools and the EDK II tools to generate PE32/PE32+/Coff image
> files.
> +#
> +# Note: The EDK II DSC file is not used to specify how compiled binary
> images get placed
> +#       into firmware volume images. This section is just a list of modules to
> compile from
> +#       source into UEFI-compliant binaries.
> +#       It is the FDF file that contains information on combining binary files into
> firmware
> +#       volume images, whose concept is beyond UEFI and is described in PI
> specification.
> +#       Binary modules do not need to be listed in this section, as they should
> be
> +#       specified in the FDF file. For example: Shell binary, FAT binary (Fat.efi),
> +#       Logo (Logo.bmp), and etc.
> +#       There may also be modules listed in this section that are not required
> in the FDF file,
> +#       When a module listed here is excluded from FDF file, then UEFI-
> compliant binary will be
> +#       generated for it, but the binary will not be put into any firmware
> volume.
> +#
> +#########################################################
> ##############
> +############################
> --
> 2.21.0.windows.1


  reply	other threads:[~2019-05-09  7:55 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-09  4:30 [Patch 00/16] Vlv2TbltDevicePkg: Sync with edk2/master Michael D Kinney
2019-05-09  4:30 ` [Patch 01/16] Vlv2TbltDevicePkg/PlatformFlashAccessLib: Add error return Michael D Kinney
2019-05-09  7:53   ` Sun, Zailiang
2019-05-09  7:53   ` Sun, Zailiang
2019-05-09 13:18   ` Qian, Yi
2019-05-09  4:30 ` [Patch 02/16] Vlv2TbltDevicePkg/AcpiPlatform: Change Size type to UINTN Michael D Kinney
2019-05-09  8:15   ` Sun, Zailiang
2019-05-09 13:19   ` Qian, Yi
2019-05-09  4:30 ` [Patch 03/16] Vlv2TbltDevicePkg/AcpiPlatform: Add variable protocols to depex Michael D Kinney
2019-05-09  7:53   ` Sun, Zailiang
2019-05-09 13:18   ` Qian, Yi
2019-05-09  4:30 ` [Patch 04/16] Vlv2TbltDevicePkg/PpmPolicy: Fix call to MP Services Protocol Michael D Kinney
2019-05-09  7:54   ` Sun, Zailiang
2019-05-09 13:19   ` Qian, Yi
2019-05-09  4:31 ` [Patch 05/16] Vlv2TbltDevicePkg/SmBiosMiscDxe: Fix GCC build issue Michael D Kinney
2019-05-09  7:54   ` Sun, Zailiang
2019-05-09 13:19   ` Qian, Yi
2019-05-09  4:31 ` [Patch 06/16] Vlv2TbltDevicePkg: Find UEFI Shell using gUefiShellFileGuid Michael D Kinney
2019-05-09  7:54   ` Sun, Zailiang
2019-05-09 13:19   ` Qian, Yi
2019-05-09  4:31 ` [Patch 07/16] Vlv2TbltDevicePkg: Build full UEFI Shell from sources Michael D Kinney
2019-05-09  7:54   ` Sun, Zailiang
2019-05-09 13:19   ` Qian, Yi
2019-05-09  4:31 ` [Patch 08/16] Vlv2TbltDevicePkg: Use CpuDxe from UefiCpuPkg Michael D Kinney
2019-05-09  7:54   ` Sun, Zailiang
2019-05-09 13:18   ` Qian, Yi
2019-05-09  4:31 ` [Patch 09/16] Vlv2TbltDevicePkg: Add PchInitSmm module Michael D Kinney
2019-05-09  7:54   ` Sun, Zailiang
2019-05-09 13:20   ` Qian, Yi
2019-05-09  4:31 ` [Patch 10/16] Vlv2TbltDevicePkg: Always enable QuietBoot to produce BGRT Michael D Kinney
2019-05-09  7:54   ` Sun, Zailiang
2019-05-09 13:20   ` Qian, Yi
2019-05-09  4:31 ` [Patch 11/16] Vlv2TbltDevicePkg/Stitch/Gcc: Update default setting binary Michael D Kinney
2019-05-09  7:54   ` Sun, Zailiang
2019-05-09 13:20   ` Qian, Yi
2019-05-09  4:31 ` [Patch 12/16] Vlv2TbltDevicePkg: Remove directory assumptions from build scripts Michael D Kinney
2019-05-09  7:55   ` Sun, Zailiang
2019-05-09 13:21   ` Qian, Yi
2019-05-09  4:31 ` [Patch 13/16] Vlv2TbltDevicePkg/Capsule: Do not clear UEFI varstore Michael D Kinney
2019-05-09  7:55   ` Sun, Zailiang
2019-05-09 13:20   ` Qian, Yi
2019-05-09  4:31 ` [Patch 14/16] Vlv2TbltDevicePkg/Capsule: Remove path to openssl tools Michael D Kinney
2019-05-09  7:55   ` Sun, Zailiang
2019-05-09 13:20   ` Qian, Yi
2019-05-09  4:31 ` [Patch 15/16] Vlv2TbltDevicePkg/Capsule: Add Linux/LVFS generation scripts Michael D Kinney
2019-05-09  7:55   ` Sun, Zailiang [this message]
2019-05-09 13:21   ` Qian, Yi
2019-05-09  4:31 ` [Patch 16/16] Vlv2TbltDevicePkg: Update Readme.md Michael D Kinney
2019-05-09  7:58   ` Sun, Zailiang
2019-05-09 13:21   ` Qian, Yi
2019-05-09 13:18 ` [Patch 00/16] Vlv2TbltDevicePkg: Sync with edk2/master Qian, Yi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7CB7EF03E15B5D48981329A508747A9850C62EF3@SHSMSX104.ccr.corp.intel.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox