# Capsule update and trailboot rollback feature in base and advance variants
CapsuleUpdate: Seamlessly updates system firmware or software without disrupting functionality.
TrialBoot-Rollback
| **Capsule found** | **RPMB Provision** | **OsIndications variable present** | **OsTrialBootStatus variable present** | **Availability of capsule update feature** | **Availability of TrialBoot and RollBack feature** | **Applicable variant** | **Notes** |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Yes | Yes | No | No | Yes | No | (Standard)Base + upstream distro | |
| Yes | Yes | No | Yes | No | No | Advance | RPMB partition needs to be erased by OS when switching from Advance to Base Variant on same device. To erase RPMB partition, run the following command.
>
>
> `fastboot oem rpmb_erase` |
| Yes | Yes | Yes | No | Yes | No | Advance | |
| Yes | Yes | Yes | Yes | Yes | Yes | Advance |
uefi_sec linux app is used to explicitly sync the UEFI variables to RPMB.
RPMB partition needs to be erased by OS when switching from Advance to Base Variant on same device. To erase RPMB partition, run the following command.
>
>
> `fastboot oem rpmb_erase` |
| Yes | No | No | No | Yes | No | Base + advance + upstream distro | |
Note
- Base variants won’t have this UEFI variable enabled irrespective of the RPMB provision.
- In the Base variant, Capsule update is triggered if capsule is found in EFI partition. OsIndications variable is ignored and TrialBoot & Rollback features are disabled.
- If OsTrailBootStatus variable is present, Capsule update won’t happen for advance variants until the OsIndications is set.

## Base variant
The base variant of RPMB can be either provisioned or unprovisioned. However, UEFI variables such as OsIndications and OsTrialBootStatus remains disabled. The system triggers a capsule update in this configuration only if it detects a capsule file in the EFI partition, located at /EFI/UpdateCapsule/.
After the system initiates the capsule update process, it updates the ESRT table, which can be accessed through the kernel shell using the path /sys/firmware/efi/esrt/entries/entry0/.
## Advance variant
The advanced variant of RPMB can operate in two modes: provisioned or unprovisioned.
- Unprovisioned RPMB: You can still start the capsule update sometimes if RPMB isn’t set up. If the EFI finds a capsule, you can check the update status by looking at the ESRT table from the kernel shell.
However, the trialboot and rollback feature works only when RPMB is set up.
- Provisioned RPMB: In contrast, when you provision RPMB, you use UEFI variables to determine whether to trigger the capsule update and enable trial boot and rollback features.
## Capsule update triggering
You need to consider two scenarios:
>
>
> - OsIndications enabled
>
> - When you enable OsIndications, you trigger the capsule update if a capsule is found in the EFI.
> - Additionally, you enable the trial boot and rollback feature based on the value of OsTrialBootStatus.
> - OsIndications disabled
>
> - When you disable OsIndications but enable OsTrialBootStatus, you don’t trigger the capsule update.
Note
>
>
> - Multiple capsules in ESP partition: If the ESP partition contains multiple capsules in EFI/UpdateCapsule, the system considers all capsules for the update and updates them alphabetically one after the other.
- UEFI non-volatile variables: The system stores all UEFI non-volatile variables in the RPMB partition, which must be in a provisioned state. On a Qualcomm secure-boot-enabled device, the system will automatically provision the RPMB.
- Qualcomm non-secure devices: On Qualcomm non-secure devices, the system doesn’t automatically provision RPMB, but you can provision it using test keys. If you provision RPMB with test keys on a non-secure device, you can’t re-provision RPMB with a device key while enabling Qualcomm secure boot on the device.
Last Published: Apr 30, 2025
[Previous Topic
Update and recovery](https://docs.qualcomm.com/bundle/publicresource/80-70018-4/topics/capsule-update-and-recovery.md) [Next Topic
Interfaces](https://docs.qualcomm.com/bundle/publicresource/80-70018-4/topics/interfaces.md)