填充 ESRT 表
EFI 系统资源表(ESRT)提供了一种机制,用于识别集成设备和系统固件资源,以便针对这些资源的固件更新。 ESRT 中的每个条目都描述了可由固件更新驱动程序包面向的设备或系统固件资源。 固件更新驱动程序包可以更新的每个固件资源都必须由 ESRT 中的一个条目进行描述,以便部署和安装固件更新。 有关 ESRT 的布局和实现的详细信息,请参阅 ESRT 表定义。
下图显示了典型的 SoC 系统的高级块图。
在此示例中,包含可更新固件的每个系统设备都由单个块表示。 每个块都能够接收和安装设备的目标独立固件更新。 因此,每个块在表示该设备的 ESRT 中都有一个唯一条目,如下图所示。
设备还可以将其固件更新为单个整体系统固件更新驱动程序包的一部分。 在这种情况下,设备不会有 ESRT 条目,因为它已使用系统固件进行更新。 更通常,设备只能有其固件更新以 ESRT 中的一个条目为目标。
为简单起见,上图描述了每个设备的固件更新都以唯一条目单独为目标的模型。 表中的每个 GUID 标识此 SoC 系统中的可更新设备或 UEFI 系统固件。 表中的每个 GUID 都是唯一的(也就是说,两个设备/系统固件共享相同的 GUID 值),该表对单个 SoC 系统是唯一的。 SoC 系统的硬件修订必须为设备/系统固件定义新的 GUID 值。 这可确保固件针对修订的硬件中的每个组件,因为不同修订的设备硬件中的细微差异可能需要不同的固件。