Coreboot 4.17 发布

CoreBoot 4.17 项目的版本已经发布,在该项目的框架内正在开发专有固件和 BIOS 的免费替代方案。 项目代码根据 GPLv2 许可证分发。 150 名开发人员参与了新版本的创建,他们准备了 1300 多项更改。

主要变化:

  • CoreBoot 版本 2022 至 29264 中出现的漏洞 (CVE-4.13-4.16) 已得到修复,该漏洞允许在具有 AP(应用程序处理器)的系统上在 SMM(系统管理模式)级别执行代码,该级别具有更高的优先级(Ring) -2)比管理程序模式和零环保护,并且可以无限制地访问所有内存。 该问题是由对 smm_module_loader 模块中的 SMI 处理程序的错误调用引起的。
  • 增加了对 12 种主板的支持,其中 5 种用于运行 Chrome 操作系统的设备或 Google 服务器。 非 Google 费用包括:
    • 克莱沃 L140MU / L141MU / L142MU
    • 戴尔Precision 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 Deltar 和 Deltaur 主板的支持已停止。
  • 添加了新的有效负载 coreDOOM,允许您从 Coreboot 启动 DOOM 游戏。 该项目使用 doomgeneric 代码,移植到 libpayload。 使用Coreboot线性帧缓冲区进行输出,并从CBFS加载带有游戏资源的WAD文件。
  • 更新了有效负载组件 SeaBIOS 1.16.0 和 iPXE 2022.1。
  • 添加了 SeaGRUB 模式(基于 SeaBIOS 的 GRUB2),该模式允许 GRUB2 使用 SeaBIOS 提供的回调调用,例如访问无法从 GRUB2 有效负载访问的设备。
  • 添加了针对 SinkHole 攻击的保护,允许在 SMM(系统管理模式)级别执行代码。
  • 实现了从程序集文件生成内存页面静态表的内置功能,无需调用第三方实用程序。
  • 使用 DEBUG_SMI 时,允许将调试信息从 SMI 处理程序写入 CBMEMC 控制台。
  • CBMEM 初始化处理程序系统已更改;建议使用两个处理程序,而不是与阶段相关的 *_CBMEM_INIT_HOOK 处理程序:CBMEM_CREATION_HOOK(在创建 cbmem 的初始阶段使用)和 CBMEM_READY_HOOK(在 cbmem 已创建的任何阶段使用)创建)。
  • 添加了对 PSB(平台安全启动)的支持,由 PSP(平台安全处理器)处理器激活,以使用数字签名验证 BIOS 的完整性。
  • 添加了我们自己的处理程序实现,用于调试从 FSP 传输的数据(FSP 调试处理程序)。
  • 添加了供应商特定的 TIS(TPM 接口规范)函数,用于直接从 TPM(可信平台模块)寄存器读写 - tis_vendor_read() 和 tis_vendor_write()。
  • 添加了对通过调试寄存器拦截空指针取消引用的支持。
  • 实现了 i2c 设备检测,可以更轻松地与不同制造商配备触摸板或触摸屏的板卡配合使用。
  • 添加了以适合生成 FlameGraph 图表的格式保存时间数据的功能,可以清楚地显示在启动的不同阶段花费了多少时间。
  • cbmem 实用程序中添加了一个选项,用于将用户空间的时间“时间戳”添加到 cbmem 表中,从而可以反映 cbmem 中 CoreBoot 之后执行的阶段中的事件。

此外,我们还可以注意到 OSFF(开源固件基金会)发布了一封致 Intel 的公开信,其中建议使固件支持包(FSP,固件支持包)更加模块化,并开始发布与初始化 Intel SoC 相关的文档。 FSP 代码的缺乏使开放固件的创建变得非常复杂,并阻碍了 Coreboot、U-Boot 和 LinuxBoot 项目在英特尔硬件上的进展。 此前,类似的举措取得了成功,英特尔开放了社区请求的 PSE(可编程服务引擎)块固件的代码。

来源: opennet.ru

添加评论