Gowtham Suresh Kumar escreveu no dia quarta, 15/02/2023 à(s) 12:44: > Hello Jose, > > The CAPSULE_IMGTYPE is used in the uefi_capsule.bbclass as shown below. > > IMAGE_TYPEDEP:uefi_capsule:append = "${CAPSULE_IMGTYPE}" > Yup, sorry for the noise. Since it is needed, it can be reused in: -UEFI_FIRMWARE_BINARY = "${PN}-${MACHINE}.wic.nopt" +UEFI_FIRMWARE_BINARY = "${PN}-${MACHINE}.${CAPSULE_IMGTYPE}" Jose > Best regards, > Gowtham Suresh Kumar > ------------------------------ > *From:* Jose Quaresma > *Sent:* Wednesday, February 15, 2023 12:23 PM > *To:* Gowtham Suresh Kumar > *Cc:* meta-arm@lists.yoctoproject.org ; > Ross Burton ; nd > *Subject:* Re: [meta-arm] [PATCH 2/2] arm-bsp/uefi_capsule: Use json file > to pass capsule config > > Hi Gowtham, > > Gowtham Suresh Kumar escreveu no dia > quarta, 15/02/2023 à(s) 10:42: > > From: Gowtham Suresh Kumar > > This patch uses the json config file for UEFI capsule generation > as this is efficient and easily scalable to generate multiple > capsules. > > Signed-off-by: Gowtham Suresh Kumar > --- > .../recipes-bsp/images/corstone1000-image.bb | 8 +++--- > ...rstone1000-image-capsule-update-image.json | 11 ++++++++ > meta-arm/classes/uefi_capsule.bbclass | 27 ++++++++++++------- > 3 files changed, 32 insertions(+), 14 deletions(-) > create mode 100644 > meta-arm-bsp/recipes-bsp/images/files/corstone1000-image-capsule-update-image.json > > diff --git a/meta-arm-bsp/recipes-bsp/images/corstone1000-image.bb > b/meta-arm-bsp/recipes-bsp/images/corstone1000-image.bb > index b0a71bca..ce4df8a6 100644 > --- a/meta-arm-bsp/recipes-bsp/images/corstone1000-image.bb > +++ b/meta-arm-bsp/recipes-bsp/images/corstone1000-image.bb > @@ -13,11 +13,9 @@ PACKAGE_INSTALL = "" > > IMAGE_FSTYPES += "wic wic.nopt uefi_capsule" > > -UEFI_FIRMWARE_BINARY = "corstone1000-image-${MACHINE}.wic.nopt" > -UEFI_FIRMWARE_VERSION = "5" > -UEFI_FIRMWARE_LSV = "0" > -UEFI_FIRMWARE_GUID = "e2bb9c06-70e9-4b14-97a3-5a7913176e3f" > -UEFI_FIRMWARE_UPDATE_INDEX = "0" > +UEFI_FIRMWARE_BINARY = "${PN}-${MACHINE}.wic.nopt" > +UEFI_CAPSULE_CONFIG = "${THISDIR}/files/${PN}-capsule-update-image.json" > +CAPSULE_IMGTYPE = "wic.nopt" > > > Looks like this variable is not used anywhere. > > Jose > > > > do_sign_images() { > # Sign TF-A BL2 > diff --git > a/meta-arm-bsp/recipes-bsp/images/files/corstone1000-image-capsule-update-image.json > b/meta-arm-bsp/recipes-bsp/images/files/corstone1000-image-capsule-update-image.json > new file mode 100644 > index 00000000..0f011ff7 > --- /dev/null > +++ > b/meta-arm-bsp/recipes-bsp/images/files/corstone1000-image-capsule-update-image.json > @@ -0,0 +1,11 @@ > +{ > + "Payloads": [ > + { > + "FwVersion": "5", > + "Guid": "e2bb9c06-70e9-4b14-97a3-5a7913176e3f", > + "LowestSupportedVersion": "1", > + "Payload": "$UEFI_FIRMWARE_BINARY", > + "UpdateImageIndex": "0" > + } > + ] > +} > diff --git a/meta-arm/classes/uefi_capsule.bbclass > b/meta-arm/classes/uefi_capsule.bbclass > index 0c3d3845..cf708412 100644 > --- a/meta-arm/classes/uefi_capsule.bbclass > +++ b/meta-arm/classes/uefi_capsule.bbclass > @@ -1,6 +1,7 @@ > # This class generates UEFI capsules > # The current class supports generating a capsule with single firmware > binary > > +DEPENDS += "gettext-native" > inherit python3native > > IMAGE_TYPES += "uefi_capsule" > @@ -19,14 +20,11 @@ CAPSULE_EXTENSION ?= "uefi.capsule" > > # The following variables must be set to be able to generate a capsule > update > UEFI_FIRMWARE_BINARY ?= "" > -UEFI_FIRMWARE_VERSION ?= "" > -UEFI_FIRMWARE_LSV ?= "" > -UEFI_FIRMWARE_GUID ?= "" > -UEFI_FIRMWARE_UPDATE_INDEX ?= "" > +UEFI_CAPSULE_CONFIG ?= "" > > # Check if the required variables are set > python() { > - for var in ["UEFI_FIRMWARE_BINARY", "UEFI_FIRMWARE_VERSION", > "UEFI_FIRMWARE_LSV", "UEFI_FIRMWARE_GUID", "UEFI_FIRMWARE_UPDATE_INDEX"]: > + for var in ["UEFI_FIRMWARE_BINARY", "UEFI_CAPSULE_CONFIG"]: > if not d.getVar(var): > raise bb.parse.SkipRecipe(f"{var} not set") > } > @@ -36,10 +34,21 @@ IMAGE_CMD:uefi_capsule(){ > # Force the GenerateCapsule script to use python3 > export PYTHON_COMMAND=${PYTHON} > > - > ${STAGING_DIR_NATIVE}/usr/bin/edk2-BaseTools/BinWrappers/PosixLike/GenerateCapsule > -e -o \ > - ${CAPSULE_IMGLOCATION}/${UEFI_FIRMWARE_BINARY}.${CAPSULE_EXTENSION} > --fw-version ${UEFI_FIRMWARE_VERSION} \ > - --lsv ${UEFI_FIRMWARE_LSV} --guid ${UEFI_FIRMWARE_GUID} --verbose > --update-image-index \ > - ${UEFI_FIRMWARE_UPDATE_INDEX} --verbose > ${CAPSULE_IMGLOCATION}/${UEFI_FIRMWARE_BINARY} > + # Copy the firmware and the capsule config json to current directory > + if [ -e ${CAPSULE_IMGLOCATION}/${UEFI_FIRMWARE_BINARY} ]; then > + cp ${CAPSULE_IMGLOCATION}/${UEFI_FIRMWARE_BINARY} . ; > + fi > + > + export UEFI_FIRMWARE_BINARY=${UEFI_FIRMWARE_BINARY} > + envsubst < ${UEFI_CAPSULE_CONFIG} > > ./${MACHINE}-capsule-update-image.json > + > + > ${STAGING_DIR_NATIVE}/usr/bin/edk2-BaseTools/BinWrappers/PosixLike/GenerateCapsule > \ > + -e -o ${UEFI_FIRMWARE_BINARY}.${CAPSULE_EXTENSION} -j \ > + ${MACHINE}-capsule-update-image.json > + > + # Remove the firmware to avoid contamination of IMGDEPLOYDIR > + rm ${UEFI_FIRMWARE_BINARY} > + > } > > # The firmware binary should be created before generating the capsule > -- > 2.17.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#4391): > https://lists.yoctoproject.org/g/meta-arm/message/4391 > Mute This Topic: https://lists.yoctoproject.org/mt/96980035/5052612 > Group Owner: meta-arm+owner@lists.yoctoproject.org > Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [ > quaresma.jose@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > > > > -- > Best regards, > > José Quaresma > -- Best regards, José Quaresma