@@ -192,20 +192,11 @@ The following payloads can be individually updated:
### Generate capsules {.reference}
-[EDK II's]($edk2_repository) `GenerateCapsule` tool is used to generate capsules and is built automatically
-for the host machine during the firmware image building process.
-The tool can be found at `${WORKSPACE}/build/tmp/sysroots-components/aarch64/edk2-basetools-native/usr/bin/edk2-BaseTools/BinWrappers/PosixLike/GenerateCapsule`.
+Capsules are generated by running the `image_uefi_capsule` task for
+`corstone1000-flash-firmware-image`. The task uses EDK II's `GenerateCapsule`
+tool and creates the capsule metadata JSON automatically from the recipe settings.
-:::note
-The `aarch64` part of this path depends on the build host architecture
-and can be different on another host.
-:::
-
-A JSON file containing metadata about the capsule payloads needs to be created using the script
-found at `${WORKSPACE}/meta-arm/meta-arm/scripts/generate_capsule_json_multiple.py`.
-This JSON file is required by EDK II's `GenerateCapsule` tool to generate the capsule.
-
-The capsule's default metadata passed can be found in the `${WORKSPACE}/meta-arm/meta-arm-bsp/recipes-bsp/images/corstone1000-flash-firmware-image.bb`
+The capsule's default metadata can be found in the `${WORKSPACE}/meta-arm/meta-arm-bsp/recipes-bsp/images/corstone1000-flash-firmware-image.bb`
and `${WORKSPACE}/meta-arm/kas/corstone1000-image-configuration.yml` files.
#### Valid full capsule {.reference}
@@ -222,116 +213,39 @@ To generate a capsule that updates only a single component, explicitly set the f
The partial capsule is also valid, but sets the firmware version to 7 only for the BL2 component, indicating that no other components should be updated.
-Use the following commands to generate the `capsule_config.json` file, which is required by the EDK2 tool for capsule creation:
-
-```
-cd ${WORKSPACE}
-
-python3 meta-arm/meta-arm/scripts/generate_capsule_json_multiple.py \
---selected_components DUMMY_START BL2 DUMMY_END \
---components DUMMY_START BL2 TFM_S FIP INITRAMFS DUMMY_END \
---fw_versions 0 7 0 0 0 0 \
---guids \
-6f784cbf-7938-5c23-8d6e-24d2f1410fa9 \
-${BL2_GUID} ${TFM_S_GUID} ${FIP_GUID} ${INITRAMFS_GUID} \
-b57e432b-a250-5c73-93e3-90205e64baba \
---hardware_instances 1 1 1 1 1 1 \
---lowest_supported_versions 5 5 5 5 5 5 \
---monotonic_counts 1 1 1 1 1 1 \
---payloads \
-build/tmp/work/corstone1000_a320_fvp-poky-linux-musl/corstone1000-flash-firmware-image/1.0/sources/corstone1000-flash-firmware-image-1.0/dummy.bin \
-build/tmp/deploy/images/corstone1000-a320-fvp/trusted-firmware-m/bl2_signed.bin \
-build/tmp/deploy/images/corstone1000-a320-fvp/trusted-firmware-m/tfm_s_signed.bin \
-build/tmp/deploy/images/corstone1000-a320-fvp/signed_fip.bin \
-build/tmp/deploy/images/corstone1000-a320-fvp/Image.gz-initramfs-corstone1000-a320-fvp.bin \
-build/tmp/work/corstone1000_a320_fvp-poky-linux-musl/corstone1000-flash-firmware-image/1.0/sources/corstone1000-flash-firmware-image-1.0/dummy.bin \
---update_image_indexes 5 1 2 3 4 6 \
---private_keys \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
---certificates \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
---output capsule_config.json
-```
-
Run the command below to generate the partial capsule:
```
-./build/tmp/sysroots-components/aarch64/edk2-basetools-native/usr/bin/edk2-BaseTools/BinWrappers/PosixLike/GenerateCapsule \
--e \
--j capsule_config.json \
---capflag PersistAcrossReset \
--o corstone1000-a320-fvp-partial-v7.uefi.capsule
+cd ${WORKSPACE}
+kas shell meta-arm/kas/corstone1000-a320-fvp.yml:meta-arm/ci/debug.yml -c '
+ echo "CAPSULE_VERSION = \"7\"" >> conf/local.conf
+ echo "CAPSULE_LOWEST_SUPPORTED_VERSION = \"7\"" >> conf/local.conf
+ echo "CAPSULE_SELECTED_COMPONENTS = \"BL2\"" >> conf/local.conf
+ bitbake corstone1000-flash-firmware-image -c image_uefi_capsule
+'
```
-The partial capsule will be located in the `${WORKSPACE}` directory.
+The partial capsule will be located at
+`${WORKSPACE}/build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000-a320-fvp-v7.uefi.capsule`.
-#### Invalid capsule {.reference}
+#### Rollback capsule {.reference}
Generate a capsule with firmware version metadata for all payloads set lower than that of a valid capsule.
The valid capsule has a default firmware version of 6 for all payloads, while the simulated invalid capsule has the firmware version set to 5 for all payloads.
-Use the following commands to generate the `capsule_config.json` file, which is required by the EDK2 tool for capsule creation:
+Run the command below to generate the rollback capsule:
```
cd ${WORKSPACE}
-
-python3 meta-arm/meta-arm/scripts/generate_capsule_json_multiple.py \
---selected_components DUMMY_START BL2 TFM_S FIP INITRAMFS DUMMY_END \
---components DUMMY_START BL2 TFM_S FIP INITRAMFS DUMMY_END \
---fw_versions 5 5 5 5 5 5 \
---guids \
-6f784cbf-7938-5c23-8d6e-24d2f1410fa9 \
-${BL2_GUID} ${TFM_S_GUID} ${FIP_GUID} ${INITRAMFS_GUID} \
-b57e432b-a250-5c73-93e3-90205e64baba \
---hardware_instances 1 1 1 1 1 1 \
---lowest_supported_versions 5 5 5 5 5 5 \
---monotonic_counts 1 1 1 1 1 1 \
---payloads \
-build/tmp/work/corstone1000_a320_fvp-poky-linux-musl/corstone1000-flash-firmware-image/1.0/sources/corstone1000-flash-firmware-image-1.0/dummy.bin \
-build/tmp/deploy/images/corstone1000-a320-fvp/trusted-firmware-m/bl2_signed.bin \
-build/tmp/deploy/images/corstone1000-a320-fvp/trusted-firmware-m/tfm_s_signed.bin \
-build/tmp/deploy/images/corstone1000-a320-fvp/signed_fip.bin \
-build/tmp/deploy/images/corstone1000-a320-fvp/Image.gz-initramfs-corstone1000-a320-fvp.bin \
-build/tmp/work/corstone1000_a320_fvp-poky-linux-musl/corstone1000-flash-firmware-image/1.0/sources/corstone1000-flash-firmware-image-1.0/dummy.bin \
---update_image_indexes 5 1 2 3 4 6 \
---private_keys \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_key.key \
---certificates \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
-build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000_capsule_cert.crt \
---output capsule_config.json
-```
-
-Run the command below to generate the invalid capsule:
-
-```
-./build/tmp/sysroots-components/aarch64/edk2-basetools-native/usr/bin/edk2-BaseTools/BinWrappers/PosixLike/GenerateCapsule \
--e \
--j capsule_config.json \
---capflag PersistAcrossReset \
--o corstone1000-a320-fvp-v5.uefi.capsule
+kas shell meta-arm/kas/corstone1000-a320-fvp.yml:meta-arm/ci/debug.yml -c '
+ echo "CAPSULE_VERSION = \"5\"" >> conf/local.conf
+ echo "CAPSULE_LOWEST_SUPPORTED_VERSION = \"5\"" >> conf/local.conf
+ bitbake corstone1000-flash-firmware-image -c image_uefi_capsule
+'
```
-The invalid capsule will be located in the `${WORKSPACE}` directory.
+The rollback capsule will be located at
+`${WORKSPACE}/build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000-a320-fvp-v5.uefi.capsule`.
### Transfer capsules to target {.reference}
@@ -369,8 +283,8 @@ as opposed to the on-disk method (delivery of capsules using a file on a mass st
```
sudo cp ${WORKSPACE}/build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000-a320-fvp-v6.uefi.capsule /mnt/ir-acs-live-image-generic-arm64/
- sudo cp ${WORKSPACE}/corstone1000-a320-fvp-v5.uefi.capsule /mnt/ir-acs-live-image-generic-arm64/
- sudo cp ${WORKSPACE}/corstone1000-a320-fvp-partial-v7.uefi.capsule /mnt/ir-acs-live-image-generic-arm64/
+ sudo cp ${WORKSPACE}/build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000-a320-fvp-v5.uefi.capsule /mnt/ir-acs-live-image-generic-arm64/
+ sudo cp ${WORKSPACE}/build/tmp/deploy/images/corstone1000-a320-fvp/corstone1000-a320-fvp-v7.uefi.capsule /mnt/ir-acs-live-image-generic-arm64/
sync
```
@@ -401,7 +315,7 @@ To run the test:
cd ${WORKSPACE} && tmux
```
- 2. Run the FVP within `tmux` with the IR prebuilt image which now also contains the two capsules:
+ 2. Run the FVP within `tmux` with the IR prebuilt image which now also contains the three capsules:
```
kas shell meta-arm/kas/corstone1000-a320-fvp.yml:meta-arm/ci/debug.yml \
@@ -526,7 +440,7 @@ Do not terminate FVP between the positive full capsule update and partial capsul
#### Positive partial capsule update {.reference}
-Follow the steps for the [Positive full capsule update test], ensuring you use `corstone1000-a320-fvp-partial-v7.uefi.capsule` instead of `corstone1000-a320-fvp-v6.uefi.capsule`.
+Follow the steps for the [Positive full capsule update test], ensuring you use `corstone1000-a320-fvp-v7.uefi.capsule` instead of `corstone1000-a320-fvp-v6.uefi.capsule`.
Once the system has fully booted again, read [Verifying firmware versions with ESRT] to confirm that the firmware version reflects the updated capsule.
@@ -942,20 +942,11 @@ The following payloads can be individually updated:
Generate Capsules
*****************
-`EDK II's <edk2-repository_>`__ ``GenerateCapsule`` tool is used to generate capsules and is built automatically
-for the host machine during the firmware image building process.
-The tool can be found at ``${WORKSPACE}/build/tmp/sysroots-components/aarch64/edk2-basetools-native/usr/bin/edk2-BaseTools/BinWrappers/PosixLike/GenerateCapsule``.
+Capsules are generated by running the ``image_uefi_capsule`` task for
+``corstone1000-flash-firmware-image``. The task uses EDK II's ``GenerateCapsule``
+tool and creates the capsule metadata JSON automatically from the recipe settings.
-.. note::
-
- The ``aarch64`` part of this path depends on the build host architecture
- and can be different on another host.
-
-A JSON file containing metadata about the capsule payloads needs to be created using the script
-found at ``${WORKSPACE}/meta-arm/meta-arm/scripts/generate_capsule_json_multiple.py``.
-This JSON file is required by EDK II's ``GenerateCapsule`` tool to generate the capsule.
-
-The capsule's default metadata passed can be found in the ``${WORKSPACE}/meta-arm/meta-arm-bsp/recipes-bsp/images/corstone1000-flash-firmware-image.bb``
+The capsule's default metadata can be found in the ``${WORKSPACE}/meta-arm/meta-arm-bsp/recipes-bsp/images/corstone1000-flash-firmware-image.bb``
and ``${WORKSPACE}/meta-arm/kas/corstone1000-image-configuration.yml`` files.
Valid Full Capsule
@@ -974,118 +965,40 @@ To generate a capsule that updates only a single component, explicitly set the f
The **partial capsule** is also valid, but sets the firmware version to **7** **only** for the **BL2** component, indicating that no other components should be updated.
-Use the following commands to generate the `capsule_config.json` file, which is required by the EDK2 tool for capsule creation:
-
-.. code-block:: console
-
- cd ${WORKSPACE}
-
- python3 meta-arm/meta-arm/scripts/generate_capsule_json_multiple.py \
- --selected_components DUMMY_START BL2 DUMMY_END \
- --components DUMMY_START BL2 TFM_S FIP INITRAMFS DUMMY_END \
- --fw_versions 0 7 0 0 0 0 \
- --guids \
- 6f784cbf-7938-5c23-8d6e-24d2f1410fa9 \
- ${BL2_GUID} ${TFM_S_GUID} ${FIP_GUID} ${INITRAMFS_GUID} \
- b57e432b-a250-5c73-93e3-90205e64baba \
- --hardware_instances 1 1 1 1 1 1 \
- --lowest_supported_versions 5 5 5 5 5 5 \
- --monotonic_counts 1 1 1 1 1 1 \
- --payloads \
- build/tmp/work/corstone1000_${TARGET}-poky-linux-musl/corstone1000-flash-firmware-image/1.0/sources/corstone1000-flash-firmware-image-1.0/dummy.bin \
- build/tmp/deploy/images/corstone1000-${TARGET}/trusted-firmware-m/bl2_signed.bin \
- build/tmp/deploy/images/corstone1000-${TARGET}/trusted-firmware-m/tfm_s_signed.bin \
- build/tmp/deploy/images/corstone1000-${TARGET}/signed_fip.bin \
- build/tmp/deploy/images/corstone1000-${TARGET}/Image.gz-initramfs-corstone1000-${TARGET}.bin \
- build/tmp/work/corstone1000_${TARGET}-poky-linux-musl/corstone1000-flash-firmware-image/1.0/sources/corstone1000-flash-firmware-image-1.0/dummy.bin \
- --update_image_indexes 5 1 2 3 4 6 \
- --private_keys \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- --certificates \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- --output capsule_config.json
-
Run the command below to generate the partial capsule:
.. code-block:: console
- ./build/tmp/sysroots-components/aarch64/edk2-basetools-native/usr/bin/edk2-BaseTools/BinWrappers/PosixLike/GenerateCapsule \
- -e \
- -j capsule_config.json \
- --capflag PersistAcrossReset \
- -o corstone1000-${TARGET}-partial-v7.uefi.capsule
+ cd ${WORKSPACE}
+ kas shell meta-arm/kas/corstone1000-${TARGET}.yml:meta-arm/ci/debug.yml -c '
+ echo "CAPSULE_VERSION = \"7\"" >> conf/local.conf
+ echo "CAPSULE_LOWEST_SUPPORTED_VERSION = \"7\"" >> conf/local.conf
+ echo "CAPSULE_SELECTED_COMPONENTS = \"BL2\"" >> conf/local.conf
+ bitbake corstone1000-flash-firmware-image -c image_uefi_capsule
+ '
-The partial capsule will be located in the ``${WORKSPACE}`` directory.
+The partial capsule will be located at
+``${WORKSPACE}/build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000-${TARGET}-v7.uefi.capsule``.
-Invalid Capsule
-===============
+Rollback Capsule
+================
Generate a capsule with firmware version metadata for all payloads set lower than that of a valid capsule.
The valid capsule has a default firmware version of 6 for all payloads, while the simulated invalid capsule has the firmware version set to 5 for all payloads.
-Use the following commands to generate the `capsule_config.json` file, which is required by the EDK2 tool for capsule creation:
+Run the command below to generate the rollback capsule:
.. code-block:: console
cd ${WORKSPACE}
+ kas shell meta-arm/kas/corstone1000-${TARGET}.yml:meta-arm/ci/debug.yml -c '
+ echo "CAPSULE_VERSION = \"5\"" >> conf/local.conf
+ echo "CAPSULE_LOWEST_SUPPORTED_VERSION = \"5\"" >> conf/local.conf
+ bitbake corstone1000-flash-firmware-image -c image_uefi_capsule
+ '
- python3 meta-arm/meta-arm/scripts/generate_capsule_json_multiple.py \
- --selected_components DUMMY_START BL2 TFM_S FIP INITRAMFS DUMMY_END \
- --components DUMMY_START BL2 TFM_S FIP INITRAMFS DUMMY_END \
- --fw_versions 5 5 5 5 5 5 \
- --guids \
- 6f784cbf-7938-5c23-8d6e-24d2f1410fa9 \
- ${BL2_GUID} ${TFM_S_GUID} ${FIP_GUID} ${INITRAMFS_GUID} \
- b57e432b-a250-5c73-93e3-90205e64baba \
- --hardware_instances 1 1 1 1 1 1 \
- --lowest_supported_versions 5 5 5 5 5 5 \
- --monotonic_counts 1 1 1 1 1 1 \
- --payloads \
- build/tmp/work/corstone1000_${TARGET}-poky-linux-musl/corstone1000-flash-firmware-image/1.0/sources/corstone1000-flash-firmware-image-1.0/dummy.bin \
- build/tmp/deploy/images/corstone1000-${TARGET}/trusted-firmware-m/bl2_signed.bin \
- build/tmp/deploy/images/corstone1000-${TARGET}/trusted-firmware-m/tfm_s_signed.bin \
- build/tmp/deploy/images/corstone1000-${TARGET}/signed_fip.bin \
- build/tmp/deploy/images/corstone1000-${TARGET}/Image.gz-initramfs-corstone1000-${TARGET}.bin \
- build/tmp/work/corstone1000_${TARGET}-poky-linux-musl/corstone1000-flash-firmware-image/1.0/sources/corstone1000-flash-firmware-image-1.0/dummy.bin \
- --update_image_indexes 5 1 2 3 4 6 \
- --private_keys \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_key.key \
- --certificates \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000_capsule_cert.crt \
- --output capsule_config.json
-
-
-Run the command below to generate the invalid capsule:
-
-.. code-block:: console
-
- ./build/tmp/sysroots-components/aarch64/edk2-basetools-native/usr/bin/edk2-BaseTools/BinWrappers/PosixLike/GenerateCapsule \
- -e \
- -j capsule_config.json \
- --capflag PersistAcrossReset \
- -o corstone1000-${TARGET}-v5.uefi.capsule
-
-The invalid capsule will be located in the ``${WORKSPACE}`` directory.
+The rollback capsule will be located at
+``${WORKSPACE}/build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000-${TARGET}-v5.uefi.capsule``.
***************************
Transfer Capsules to Target
@@ -1094,20 +1007,6 @@ Transfer Capsules to Target
The capsule delivery process described below is the direct method (usage of capsules from the ACS image)
as opposed to the on-disk method (delivery of capsules using a file on a mass storage device).
-MPS3
-====
-
-#. Prepare a USB drive as explained in `this <mps3-instructions-for-acs-image_>`_ section.
-
-#. Copy the capsule files to the root directory of the ``BOOT`` partition in the USB drive.
-
- .. code-block:: console
-
- cp ${WORKSPACE}/build/tmp/deploy/images/corstone1000-mps3/corstone1000-mps3-v6.uefi.capsule /dev/sdc/BOOT/
- cp ${WORKSPACE}/corstone1000-mps3-v5.uefi.capsule /dev/sdc/EFI/BOOT/
- cp ${WORKSPACE}/corstone1000-mps3-partial-v7.uefi.capsule /dev/sdc/EFI/BOOT/
- sync
-
.. note::
The staging steps below are shared between ``mps3`` and ``fvp``.
@@ -1134,10 +1033,10 @@ MPS3
cd ${WORKSPACE}
wic cp ${WORKSPACE}/build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000-${TARGET}-v6.uefi.capsule \
${ACS_STAGED_IMAGE}:1/corstone1000-${TARGET}-v6.uefi.capsule
- wic cp ${WORKSPACE}/corstone1000-${TARGET}-v5.uefi.capsule \
+ wic cp ${WORKSPACE}/build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000-${TARGET}-v5.uefi.capsule \
${ACS_STAGED_IMAGE}:1/corstone1000-${TARGET}-v5.uefi.capsule
- wic cp ${WORKSPACE}/corstone1000-${TARGET}-partial-v7.uefi.capsule \
- ${ACS_STAGED_IMAGE}:1/corstone1000-${TARGET}-partial-v7.uefi.capsule
+ wic cp ${WORKSPACE}/build/tmp/deploy/images/corstone1000-${TARGET}/corstone1000-${TARGET}-v7.uefi.capsule \
+ ${ACS_STAGED_IMAGE}:1/corstone1000-${TARGET}-v7.uefi.capsule
.. important::
@@ -1145,7 +1044,7 @@ MPS3
as doing so might inadvertently trigger the on-disk update method.
MPS3
-===
+====
#. Write ``${ACS_STAGED_IMAGE}`` to the ACS USB drive by following the
`MPS3 ACS image steps <mps3-instructions-for-acs-image_>`_ and replacing
@@ -1173,7 +1072,7 @@ Positive Full Capsule Update Test
- MPS3:
- #. Plug the prepared USB drive which has the IR prebuilt image and two capsules to the MPS3.
+ #. Plug the prepared USB drive which has the IR prebuilt image and three capsules to the MPS3.
#. Power cycle the MPS3.
- FVP:
@@ -1184,7 +1083,7 @@ Positive Full Capsule Update Test
cd ${WORKSPACE} && tmux
- #. Run the FVP within ``tmux`` with the IR prebuilt image which now also contains the two capsules:
+ #. Run the FVP within ``tmux`` with the IR prebuilt image which now also contains the three capsules:
.. code-block:: console
@@ -1329,7 +1228,7 @@ Positive Partial Capsule Update Test
====================================
Follow the steps for the `positive full capsule update test <positive-full-capsule-update-test_>`__ ensuring you use
-``corstone1000-${TARGET}-partial-v7.uefi.capsule`` instead of ``corstone1000-${TARGET}-v6.uefi.capsule``.
+``corstone1000-${TARGET}-v7.uefi.capsule`` instead of ``corstone1000-${TARGET}-v6.uefi.capsule``.
Once the system has fully booted again, `read the ESRT <verifying-firmware-versions-via-esrt_>`__ to
confirm that the firmware version reflects the updated capsule.
- Replace manual partial and rollback capsule generation with a kas shell command - Remove incorrect MPS3 capsule transfer instructions - Fix broken MPS3 section header - Update incorrect capsule amount in instructions Shortens documentation and improves clarity in capsule generation, making it easier to see how the partial and rollback capsules differ. Also correct the capsule count in the test setup instructions. Signed-off-by: Alex Chapman <alex.chapman@arm.com> --- .../corstone1000-a320/topics/tests.md | 138 +++------------ .../documentation/corstone1000/user-guide.rst | 161 ++++-------------- 2 files changed, 56 insertions(+), 243 deletions(-)