开源固件Coreboot发布4.9,大幅度清理程序代码库并停止支持部分老旧主板

开源固件Coreboot历经7个多月,集结175位开发者提交了2,610变更,终于从4.8.1来到了4.9版本,这次改版影响范围很大,几乎遍及每个功能区块,包括芯片组、主板、工具、构建系统和文件。官方还提到,这次的更新来了70位首次贡献者,项目正蓬勃发展中。

Coreboot是一个开源固件项目,也常被称作为LinuxBIOS,为可扩展的固件平台,能在现代计算机和嵌入式系统上,提供快速且安全的启动体验,该项目的目的就是要用来取代专有固件,由于Coreboot是一个开源项目,能提供可审计性与技术控制最大化。

官方提到,要给Coreboot 4.9一个标题的话,那清理(Clean up)会是最适合的。这次更新社群致力于让程序代码库中的程序代码风格更加一致,并且淘汰老旧的程序代码撰写习惯,像是移除重载的Device_t data类型,并且让功能渗透整个程序代码树,使各部分更加一致均匀。从Coreboot 4.4的更新周期开始,Coreboot加入了主板变体的概念,以避免在类似的主板中重复程序代码。

而会有这项功能的开发,主要是为了Chrome OS设备,但最近各种Lenovo Thinkpad的程序代码,也都以相同的方式进行清理,删除了重复的数据。官方表示,清理程序代码树的另一部分工作便是改进工具,帮助开发人员遵循程序代码开发风格,同时避免错误发生,另外,在自动构建测试的基础架构上,也有不少进展。

另一个重大改变是对于Blob的处理,由于英特尔现在提供具有FSP二进制文件的授权存储库,因此官方得以将其镜像复制到Coreboot.org,并集成到构建系统中。如此Coreboot项目能够更简单的相依于英特尔专有的初始程序代码,为设备提供开箱即用的镜像文件。官方提醒,Blob并非Coreboot树底下的一部分,只能使用USE_BLOBS选项下载。

Coreboot 4.8版本发布之后,开始弃用那些不支持新功能且也不再更新的主板,不过官方并没有按照原本的进程表,积极的弃用主机版支持,因为主板状态汇报机制仍然相当粗糙,而且也对部分贡献者造成了负担。由于Coreboot 4.9的发布已经比计划中的时间还晚,4.10版本只有4个月的开发时间,考量到要将旧主板升级到新标准需要较长的时间,因此官方也承诺,在4.10版本中不会弃用任何主板,下一个弃用阶段会是在2019后半年的4.11版本。

官方也从上一个版本开始,将文件移动到存储库中,贡献者不在需要使用特殊的Wiki帐号来编辑文件,通过共享源码与文件,能够让两者更加一致。不过,这项工作还在进行其中,因此官方同时仍继续维护旧的Wiki网站,但仅提供数据读取。