CoreBoot 4.17 项目的发布已经发布,其中正在开发专有固件和 BIOS 的免费替代品。
自 4.16 版发布以来,已有大约 1300 个贡献者提交了超过 150 个新提交。 在这些人中,大约有 15 人是首次申报者。
CoreBoot 4.17 的主要新特性
在呈现的这个新版本中,我们可以发现 添加了 TIS 功能 (TPM 接口规范)特定于供应商的直接从 TPM(可信平台模块)寄存器读取和写入:tis_vendor_read() 和 tis_vendor_write()。
另一个突出的变化是 支持拦截指针取消引用 通过调试日志为空,此外 i2c 设备检测已实现 方便使用配备不同制造商的触摸板或触摸屏的漆。
除此之外, 请注意,添加了以某种格式保存时间数据的功能。 适合生成 FlameGraph 图表,清楚地展示在发布的不同阶段花费了多少时间。
为 cbmem 实用程序添加了一个选项 将用户空间的时间添加到 cbmem 的“timestamp”表中,这样就可以将 cbmem 中的事件反映在 CoreBoot 之后执行的阶段上。
这 内置生成静态内存页表的能力 从汇编文件,无需调用第三方实用程序。
另一方面,也强调 修复了一个漏洞 (CVE-2022-29264) 体现在 CoreBoot 版本 4.13 到 4.16 它允许具有 AP(应用处理器)的系统在 SMM(系统管理模式)级别执行代码,其优先级(环 -2)高于管理程序模式和保护环零,并且可以无限制地访问所有内存。 该问题是由对 smm_module_loader 模块中的 SMI 处理程序的错误调用引起的。
其他改变从这个新版本中脱颖而出的 s:
- 允许在使用 DEBUG_SMI 时将调试信息从 SMI 处理程序写入 CBMEMC 控制台。
- CBMEM 初始化处理程序系统已更改,而不是链接到阶段的 *_CBMEM_INIT_HOOK 处理程序,建议使用两个处理程序:CBMEM_CREATION_HOOK(用于创建 cbmem 的初始阶段)和 CBMEM_READY_HOOK(用于已创建 cbmem 的任何阶段)。
- 添加了对由 PSP(平台安全处理器)激活的 PSB(平台安全启动)的支持,以使用数字签名验证 BIOS 的完整性。
- 添加了从 FSP(FSP 调试处理程序)传递的调试数据处理程序的自己的实现。
- 添加了对 12 种主板的支持,其中 5 种用于 Chrome OS 设备或 Google 服务器:
克莱沃 L140MU / L141MU / L142MU
戴尔精密 T1650
HP Z220 CMT 工作站
Star Labs LabTop Mk III (i7-8550u)、LabTop Mk IV (i3-10110U、i7-10710U)、Lite Mk III (N5000) 和 Lite Mk IV (N5030)。 - 删除了对 Google Deltan 和 Deltaur 主板的支持。
- 添加了一个新的 coreDOOM 有效负载,允许您从 Coreboot 运行 DOOM 游戏。
- 该项目使用移植到 libpayload 的末日通用代码。
- Coreboot 的线性帧缓冲区用于输出,带有游戏资源的 WAD 文件从 CBFS 加载。
- 更新了负载组件 SeaBIOS 1.16.0 和 iPXE 2022.1。
- 添加了 SeaGRUB 模式(GRUB2 over SeaBIOS),它允许 GRUB2 使用 SeaBIOS 提供的回调,例如,访问 GRUB2 有效负载无法访问的机器。
- 添加了针对 SinkHole 攻击的保护,允许您在 SMM(系统管理模式)级别执行代码。
此外,我们可以指出 OSFF 出版 (开源固件基金会)在致英特尔的一封公开信中,其中 建议模块化固件支持包 (FSP,固件支持包)并开始发布与英特尔 SoC 初始化相关的文档。
缺少 FSP 代码使得构建开放固件变得非常困难,并使 Coreboot、U-Boot 和 LinuxBoot 项目难以在英特尔硬件上取得进展。 此前,类似的举措取得了成功,英特尔开源了社区要求的 PSE(可编程服务引擎)固件。
最后 如果您有兴趣了解更多有关它的信息,您可以查看详细信息 在下面的链接中。