通用有效负载层(UPL)技术解析
1. 系统固件与有效负载概述
随着行业需求的发展,系统固件的定义也在不断演变。硅供应商会决定基于其提供的 CPU 或 SoC 的目标硬件所使用的系统固件。然而,新特性需求的增加和特定市场需求的演变,使得为服务器设计的系统固件规范可能不适用于汽车等其他用例。
在现代计算时代,设备制造商在构建系统固件时寻求更多定制解决方案。现代系统固件提供了灵活性,可分别选择进行平台初始化的引导加载程序和负责管理引导逻辑的操作系统加载程序。例如,在设计汽车系统的系统固件时,设备制造商可以选择 Slim Bootloader 进行硬件初始化,并使用 LinuxBoot 作为有效负载来加载早期的 Linux 内核,以方便配置。
不同的操作系统加载程序获取平台初始化信息的方式各不相同:
- Depthcharge :使用 SYSINFO 表作为 Libpayload 静态库的一部分,从 coreboot 表中检索无法直接从平台硬件获取的以平台为中心的信息。
- UEFI Payload :依赖静态库,根据编译时标志选择合适的解析库来检索引导加载程序的平台信息。BlParseLib 会查看 CbParseLib 以解析 coreboot 引导加载程序的 coreboot 表,或使用 SblParseLib 解析 SBL 引导加载程序的 HOBs。
- LinuxBoot :不需要从引导加载程序获取太多信息,因为它能够执行一些引导加载程序已经完成的冗余初始化,如 PCI 枚举和显示初始化,但仍然依赖基于 DRAM 的系统内存映射,这在
超级会员免费看
订阅专栏 解锁全文
7125

被折叠的 条评论
为什么被折叠?



