Skip to main content
本文档中描述的 base 和 advanced 变体仅适用于 QLI 1.x。对于 QLI 2.x,不存在变体之分,默认变体等同于 QLI 1.x 中的 advanced 变体。

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

触发胶囊更新

请参阅触发胶囊更新。