# Update and recovery

The firmware on a device is updated using a capsule, through the UEFI. This process involves encapsulating the firmware update payload in a capsule [.cap file], which is then processed by the system firmware to update the device firmware.

Note

The mentioned capsule update is applicable to Qualcomm Linux advanced and custom variants only.

## Update device firmware

Updating device firmware involves installing new software onto a device’s firmware, which is the low-level software that controls the hardware.
This process can improve the device’s performance, fix bugs, add new features, or enhance security. To update the device firmware through a capsule, do the following:

1. **Preparation**: The user creates a capsule containing the firmware update.
2. **Staging**: The capsule is copied to the <cite>/EFI/UpdateCapsule/&lt;capsule&gt;.cap</cite> file in EFI system partition (ESP), before OS triggers capsule update.
3. **Reboot**: The OS triggers the capsule update and restarts the system to enter the UEFI environment.
4. **Update Initiation**: The UEFI firmware detects the capsule and starts the update process.
5. **Verification**: The firmware checks the capsule integrity and authenticity.
6. **Installation**: The firmware is updated using the capsule data.
7. **Completion**: The system reboots again to complete the update.

In this process, the firmware update payload is encapsulated in a.cap file. This capsule (.cap) file is then processed to ensure secure and reliable firmware updates.

To generate a capsule, see [Capsule generation in UEFI](https://docs.qualcomm.com/doc/80-70018-4/topic/capsule-generation-in-uefi.html#capsule-generation-in-uefi).

## **UEFI variables involved in capsule update**

Communication between the OS and UEFI uses protocols and services to interact with platform firmware. UEFI offers a standard boot environment, data tables with platform information, and boot/runtime service calls for the OS loader and OS.

UEFI variables used in capsule update

| Variable name | Description |
| --- | --- |
| OsIndications | This variable is owned by the OS and is used to indicate the features the OS wants the firmware to enable or the OS wants the firmware to take. This variable is set by OS and cleared by UEFI. |
| OsIndicationsSupported | This variable is owned by the firmware and indicates which of the OS indication features and actions the firmware supports. |
| OsTrialBootStatus - Is a 32 bit UEFI variable. | Bit map:<br><br><br><br>> <br>> <br>> <ul class="simple"><br>> <li><p>7:0 - Version - Version number of OsTrialBootStatus</p></li><br>> <li><p>11:8 - TrialBootMaxCount - This is set by the OS before triggering the capsule update.</p></li><br>> <li><p>15:12 - TrialBootCount - This is set/incremented by UEFI (if TrialBootEnabled isn’t cleared by OS). The OS can set to TrialBootMaxCount, if the OS wants to trigger a firmware rollback.</p></li><br>> <li><p>16 - TrialBootEnabled - This is set to 1 by UEFI after capsule update and cleared by the OS after successful OTA update.</p></li><br>> <li><p>31:17 - Unused</p></li><br>> </ul> |
| EFI system resource table (ESRT) | The ESRT table is set by the UEFI after the capsule update. |

For more information about the OsIndications and OsIndicationsSupported variables, see
[https://uefi.org/specs/UEFI/2.10/08_Services_Runtime_Services.html?highlight=osindications#exchanging-information-between-the-os-and-firmware](https://uefi.org/specs/UEFI/2.10/08_Services_Runtime_Services.html?highlight=osindications#exchanging-information-between-the-os-and-firmware).

Note

- If there is more than one capsule in the ESP partition (in EFI/UpdateCapsule), consider all the capsules for the update and update them alphabetically.
- Store all UEFI non-volatile variables in the rollback protection memory block (RPMB) partition, which must be in a Provisioned state.

> 
> 
> - Autoprovision the RPMB on Qualcomm secure-boot enabled devices.
>     - On Qualcomm non-secure devices, don’t autoprovision the RPMB; instead, provision it with test keys.
>     - If you provision the RPMB with test keys on non-secure devices, you can’t re-provision it with a device key when enabling Qualcomm secure boot on the device.
>     - Use the `rpmbClient` application for RPMB provisioning from Linux. For more information, see [Qualcomm Security Linux Guide](https://docs.qualcomm.com/bundle/publicresource/topics/80-70017-11/bring-up.html#verify-trustzone/device-configuration/hypervisor-image-loading).

## EFI system resource table for capsule update status from HLOS

> 
> 
> The EFI System Resource Table (ESRT) is an optional mechanism for identifying the device and the system firmware resources to target firmware updates. Each ESRT entry describes a firmware resource that can be updated and reports the status of the last attempted update.
> The entries in ESRT, which are used to report status of the last attempted update are:

Table: ESRT entries

| **ESRT field** | **Description** |
| --- | --- |
| FwClass | The firmware class field contains a GUID that identifies a firmware component that can be updated through *UpdateCapsule().* |
| FwType | Identifies the type of firmware resource. |
| FwVersion | The firmware version field represents the current version of the firmware resource. The value must always increase as a larger number represents a newer version. |
| LowestSupportedFwVersion | The lowest firmware resource version to which a firmware resource can be rolled back for the specified system/device. |
| CapsuleFlags | The capsule flag field contains the *CapsuleGuid* flags (bits 0- 15) as defined in the *EFI\_CAPSULE\_HEADER* that’s set in the capsule header. |
| LastAttemptVersion | The field describes the last firmware version for which an update was attempted (uses the same format as the firmware version). |
| LastAttemptStatus | The field describes the result of the last firmware update attempt for the firmware resource entry. |

The ESRT content is exposed by the OS from the sysfs path.

/sys/firmware/efi/esrt/entries/entry0/
    sh-5.1# cd /sys/firmware/efi/esrt/entries/entry0/
    sh-5.1# ls
    capsule_flags  fw_type     last_attempt_status   lowest_supported_fw_version
    w_class       fw_version  last_attempt_version
    Copy to clipboard

ESRT table is set by UEFI after the capsule update. X is the firmware version before the capsule update. Y is the version of the firmware, which is available in the capsule [.cap] file.

| **Last attempted firmware version** | **Current firmware version** | **last\_attempt satus** | **Capsule update scenario** |
| --- | --- | --- | --- |
| Y | Y | 0 | Update success |
| Y | X | 1 | Capsule update failure |
| 0 | X | 0 | Capsule meta-data failure |
| Y | X | 0 | Firmware rollback done |

For more information about ESRT, see [Firmware Update and Reporting - UEFI Specification 2.10 documentation](https://uefi.org/specs/UEFI/2.10/23_Firmware_Update_and_Reporting.html#efi-system-resource-table)

The flowchart explains how the device firmware is updated using the UEFI capsule solution/method using different UEFI variables along with the rollback support.

![../../_images/Capsule-flowchart.png](data:image/png;base64,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)

1. **Initiation**: The over the air (OTA) update process starts, and the OS prepares
to update the capsule, signaling the UEFI (through setting
`OsIndications`) to begin the update. The OS sets a
`TrialBootMaxCount` to track the number of trial boots allowed and
then reboots the device.
2. **UEFI update**: Upon reboot, the system checks for
`OsIndications`. If present, it performs the capsule update,
updates the EFI system resource table (ESRT), clears `OsIndications`, and if
`TrialBootMaxCount` is set, allows `TrialBootEnabled` and
restarts the system again.
3. **Trialboot handling**:

    - If the `OsIndications` aren’t set, the system checks if the
`TrialBootEnabled` is active.
    - If the `TrialBootEnabled` is active and the `TrialBootCount`
equals the `TrialBootMaxCount`, it checks the rollback count.

        - If a rollback is allowed, the UEFI reverts to the firmware, updates the ESRT, and reboots.
        - If a rollback isn’t allowed, it indicates that the rollback limit is reached.
    - If the `TrialBootCount` is less than the `TrialBootMaxCount`, it
increments the `TrialBootCount` and continues the process.
4. **Completion**: The system boots to the OS, checks the ESRT, and if
the OS boots successfully, it resets the `TrialBootEnabled` field.
5. **Result**:

    - If `TrialBootEnabled` isn’t active, the OTA update is confirmed
as complete.
    - The system clears the `OtaTrialBootStatus` and sets the
`LwSupportedFwVersion` to the current firmware version to
disable rollback.
6. **Recovery**:
If a firmware capsule update fails during the update process, UEFI has a
recovery mechanism to maintain the stability and functionality.

> 
> 
> 1. **Rollback**: If a rollback is allowed, UEFI reverts to the previous firmware version. This involves restoring the firmware to the state before the update attempt.
>     2. **ESRT update**: The ESRT is updated to reflect the rollback.
>     3. **Reboot**: After the rollback is complete, the UEFI triggers a restart to ensure it’s running the previous, stable firmware version.

    This process ensures that the update is applied and allows for rollback if any issues are encountered during the trial period.

## Authentication and signing

Authentication is essential for firmware updates to ensure security and
stability. It guarantees that only updates from trusted sources are
applied, preventing malicious or unauthorized updates. By verifying the
digital signature of the capsule, it ensures the update hasn’t been
tampered with during transmission and that only verified and tested
updates are installed. This reduces the risk of system crashes or
malfunctions due to faulty firmware.

To authenticate capsule-based system firmware updates using the
instructions from the [Tianocore GitHub -](https://github.com/quic/cbsp-boot-utilities/tree/main/uefi_capsule_generation#3-working-of-the-host-signing-tool) , follow these steps:

1. **Generate signing keys**:

    - Use OpenSSL command line utilities to create a new self-signed
X.509 certificate chain. This involves generating a private key
and a corresponding public certificate.
    - The private key is used to sign the firmware update capsules,
while the public certificate is used by the UEFI firmware to
verify the signature.
2. **Sign the firmware update capsule**:

    - Use the signing keys to sign the firmware
update capsule. This ensures that the capsule is authenticated and
hasn’t been tampered with.
    - The signing process typically involves creating a hash of the
firmware update payload and then encrypting this hash with the
private key to create a digital signature.
    - Place these certificates in a folder named `Certificates’. Sample
files available in this folder might include `QcFMPCert.pem`,
`QcFMPRoot.pub.pem`, and `QcFMPSub.pub.pem`.
3. **Verify the capsule**:

    - The UEFI firmware uses the public certificate to verify the
digital signature on the capsule. If the signature is valid and
matches the trusted certificate, the firmware update process will
proceed.
    - `QcFMPRoot.cer` (or `NewRoot.cer`) should be provided in
the boot DT at `/sw/uefi/uefiplat/QcCapsuleRootCert`.

This verification step ensures that only authorized firmware updates are applied to the system.

Last Published: Apr 30, 2025

[Previous Topic
RTSS cold boot flow](https://docs.qualcomm.com/bundle/publicresource/80-70018-4/topics/Sail.md) [Next Topic
Capsule update and trailboot rollback feature in base and advance variants](https://docs.qualcomm.com/bundle/publicresource/80-70018-4/topics/capsule-update-for-base-and-advance-variants.md)