跳转至

为英特尔 FSP 采用开源固件方法

译文信息

正文

亲爱的英特尔,

我们听到了您的意见,并且同意您的看法:“创新在开放、民主化的环境中蓬勃发展,人们可以在这个环境中相互联系、协作并共同应对新的挑战……这种自由交流增强了我们相互学习的能力。1” 基于这种确切的观点,我们特此请求英特尔承诺采用开源友好的开发方法来交付芯片固件。

根据来自 Google 的 Subrata Banik 发表的技术文章,《开源固件开发:减少英特尔® SoC 平台上的固件支持包 (FSP) 边界2》,当前有迫在眉睫,要求在主机固件领域采取更多的开源方法的全行业需求。让我们检查当前的情况并确定最可行的前进道路。

十年前,英特尔推出了固件支持包(Firmware Support Package, FSP),它将专有处理器和芯片组初始化代码封装在二进制平台初始化(Platform Initialization, PI)模型中。这使世界上的任何供应商或开发人员都可以自由地采用英特尔 SoC,而无需担忧 IBV 锁定。从那时起,开源固件计划催生了许多蓬勃发展的固件项目,如 coreboot、U-Boot 和 LinuxBoot 等等;从而围绕 x86 架构创建一个健康的固件生态系统,尤其是英特尔架构。

不过,多年来,FSP 已经有了很大的发展,每一代新产品都已经成为各种硬件平台的一个越来越厚重和严格锁定的固件框架。

“one-binary-fits-all”(一个二进制文件适配全部硬件)模型不仅让开发人员和生态系统合作伙伴对芯片启用的极少甚至没有控制权,而且还增加了平台安全风险,因为每一代都有更多没有公开审查机会的封闭代码加入,导致 FSP 变得越来越臃肿。这无疑增加了合作伙伴在英特尔平台上工作时的部署成本,并为进入英特尔生态系统设定了很高的门槛。

Subrata 概述的新“替代路径”模型创建了一种非常可行且务实的方法,以摆脱当前方法中存在的平台支持模型中的保密性。它平衡了 SoC 供应商的业务需求并保护他们的核心利益,同时支持更多的创新并允许开源社区的参与。以下是新设计理念的一些亮点:

  1. 在公共领域提供更多技术文档来定义最小且安全的芯片初始化,让开源工作独立完成。英特尔肯定会从这种方法中受益。
  2. 通过允许更多开发人员参与开发过程并利用英特尔开发人员社区来缩短进行更改的时间。
  3. 创建一个更全面和可定制,专注于所有相关方的需求的接口。这将使英特尔的合作伙伴能够构建更多创新平台。
  4. 通过允许相关方根据其平台的要求定制固件,保持固件的快速和紧凑。

只有集成到 coreboot 或其他固件包中的代码可以作为源代码使用,才能实现高度集成固件的目标。在构建过程中以二进制形式添加的每个代码都与这种方法相矛盾,并在社区内以及英特尔与其合作伙伴之间产生不必要的紧张关系。在引导流程中拥有尽可能多的源代码使社区能够直接为所有英特尔处理器找到最合适的引导解决方案。这不仅可以加快开发速度,而且还可以提供高质量和适应性强的代码来进行初始化。

在此,我们呼吁英特尔加入我们,再次致力于开放生态系统的力量。


  1. https://www.linkedin.com/pulse/open-letter-ecosystem-pat-gelsinger 

  2. https://blog.osfw.foundation/osf-intel-reduce-fsp-boundary/