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

# base 和 advanced 变体的胶囊更新

<Note>
  本文档中描述的 base 和 advanced 变体仅适用于 QLI 1.x。对于 QLI 2.x，不存在变体之分，默认变体等同于 QLI 1.x 中的 advanced 变体。
</Note>

## **Base 变体**

RPMB 的 base 变体可以是已配置或未配置状态。但是，诸如 `OsIndications` 和 `OsTrialBootStatus` 之类的 UEFI 变量保持禁用状态。在此配置下，只有当系统在 EFI 分区的 `/EFI/UpdateCapsule/` 中检测到胶囊文件时，才会触发胶囊更新。系统启动胶囊更新过程后，会更新 ESRT 表，用户可以通过内核 shell 使用 `/sys/firmware/efi/esrt/entries/entry0/` 路径访问该表。

## **Advanced 变体**

RPMB 的 advanced 变体可以在两种模式下运行：已配置或未配置。

* 未配置的 RPMB：即使未配置 RPMB，您也可以启动胶囊更新。如果 UEFI 检测到胶囊，您可以通过在内核 shell 中查看 ESRT 表来检查更新状态。只有在系统配置了 RPMB 后，试启动和回滚功能才可用。
* 已配置的 RPMB：相反，当您配置了 RPMB 后，您可以使用 UEFI 变量来确定是否触发胶囊更新以及启用试启动和回滚功能。

下表根据胶囊（在 EFI 中）的可用性、RPMB 配置状态和 UEFI 变量，显示了 base 或 advanced 变体的胶囊更新和试启动回滚功能的可用性。

| **找到胶囊** | **RPMB 已配置** | **存在 OsIndications 变量** | **存在 OsTrialBootStatus 变量** | **胶囊更新功能的可用性** | **试启动回滚功能的可用性** | **适用变体**                | **备注**                                                                                                                                                               |
| -------- | ------------ | ----------------------- | --------------------------- | -------------- | --------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 是        | 是            | 否                       | 否                           | 是              | 否               | (标准)Base + 上游发行版        |                                                                                                                                                                      |
| 是        | 是            | 否                       | 是                           | 否              | 否               | Advanced                | 在同一设备上从 advanced 变体切换到 base 变体时，操作系统需要擦除 RPMB 分区。要擦除 RPMB 分区，请运行以下命令。<br />`fastboot oem rpmb_erase`                                                                 |
| 是        | 是            | 是                       | 否                           | 是              | 否               | Advanced                |                                                                                                                                                                      |
| 是        | 是            | 是                       | 是                           | 是              | 是               | Advanced                | <ol><li>uefi\_sec Linux 应用程序用于将 UEFI 变量显式同步到 RPMB。</li><li>在同一设备上从 advanced 变体切换到 base 变体时，操作系统需要擦除 RPMB 分区。要擦除 RPMB 分区，请运行以下命令。</li></ol> `fastboot oem rpmb_erase` |
| 是        | 否            | 否                       | 否                           | 是              | 否               | Base + advanced + 上游发行版 |                                                                                                                                                                      |

<Note>
  * 无论 RPMB 配置状态如何，您都无法从 Linux 在 base 变体上启用 UEFI 变量。
  * 在 base 变体中，如果系统在 EFI 分区中找到胶囊，则会触发胶囊更新。它会忽略 OsIndications 变量并禁用试启动和回滚功能。
  * 在 advanced 变体中，只有当 OsIndications 和 OsTrialBootStatus 变量都存在时，才会触发胶囊更新。
</Note>

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

## **触发胶囊更新**

请参阅[触发胶囊更新](./how-to)。
