> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Capsule update for base and advanced variants

## **Base variant**

The base variant of RPMB can be either provisioned or unprovisioned. However, UEFI variables such as `OsIndications` and `OsTrialBootStatus` remain disabled. The system triggers a capsule update in this configuration only if it detects a capsule file in the EFI partition at `/EFI/UpdateCapsule/`. After the system initiates the capsule update process, it updates the ESRT table, which users can access through the kernel shell using the `/sys/firmware/efi/esrt/entries/entry0/` path.

## **Advanced variant**

The advanced variant of RPMB can operate in two modes: provisioned or unprovisioned.

* Unprovisioned RPMB: You can initiate the capsule update even if RPMB isn’t configured. If UEFI detects a capsule, you can check the update status by viewing the ESRT table from the kernel shell. The trial boot and rollback features are available only when the system sets up RPMB.
* Provisioned RPMB: In contrast, when you provision RPMB, you use the UEFI variables to determine whether to trigger the capsule update and enable trial boot and rollback features.

The following table shows the availability of capsule update and trial boot rollback for base or advance variants based on the availability of the capsule (in EFI), RPMB provisioned and the UEFI variables.

| **Capsule found** | **RPMB Provision** | **OsIndications variable present** | **OsTrialBootStatus variable present** | **Availability of capsule update feature** | **Availability of trial boot rollback feature** | **Applicable variant**            | **Notes**                                                                                                                                                                                                                                                                                   |
| ----------------- | ------------------ | ---------------------------------- | -------------------------------------- | ------------------------------------------ | ----------------------------------------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Yes               | Yes                | No                                 | No                                     | Yes                                        | No                                              | (Standard)Base + upstream distro  |                                                                                                                                                                                                                                                                                             |
| Yes               | Yes                | No                                 | Yes                                    | No                                         | No                                              | Advanced                          | RPMB partition needs to be erased by OS when switching from advanced to base variant on the same device. To erase RPMB partition, run the following command.<br />`fastboot oem rpmb_erase`                                                                                                 |
| Yes               | Yes                | Yes                                | No                                     | Yes                                        | No                                              | Advanced                          |                                                                                                                                                                                                                                                                                             |
| Yes               | Yes                | Yes                                | Yes                                    | Yes                                        | Yes                                             | Advanced                          | <ol><li>uefi\_sec Linux app is used to explicitly sync the UEFI variables to RPMB.</li><li>RPMB partition needs to be erased by OS when switching from advanced to base variant on the same device. To erase RPMB partition, run the following command.</li></ol> `fastboot oem rpmb_erase` |
| Yes               | No                 | No                                 | No                                     | Yes                                        | No                                              | Base + advanced + upstream distro |                                                                                                                                                                                                                                                                                             |

<Note>
  * You can’t enable UEFI variables on base variants from Linux, regardless of RPMB provisioning status.
  * In the base variant, the system triggers a capsule update if it finds the capsule in the EFI partition. It ignores the OsIndications variable and disables the trial boot and rollback features.
  * In the advanced variant, the capsule update is only triggered if the OsIndications and the OsTrialBootStatus variables are present.
</Note>

<div style={{ textAlign: 'center', width: '100%' }}>
  <img src="https://mintcdn.com/qualcomm-prod/eYaEBFH0xlFq53OY/System/Boot/media/k2c-qli-boot/old/advance_base_variants.png?fit=max&auto=format&n=eYaEBFH0xlFq53OY&q=85&s=f9fc6f3f7c4cb66c3776dda9ebd13f89" alt="Advanced and base variants" style={{ display: 'block', margin: '0 auto' }} width="3840" height="2161" data-path="System/Boot/media/k2c-qli-boot/old/advance_base_variants.png" />
</div>

## **Trigger capsule update**

See [Trigger the capsule update](./how-to).
