6 月 7 日消息,科技媒体 omgubuntu 今天(6 月 7 日)发布博文,报道称 Canonical 工程师 Juerg Haefliger 提议拆分 linux-firmware 固件包,虽然可以提升效率,但此举可能影响 Ubuntu 的硬件兼容性。
注:linux-firmware 是 Ubuntu 系统中的核心固件包,包含了支持各类硬件的驱动和微码,涵盖 Wi-Fi 适配器、显卡到存储控制器等设备。
然而,这个包的体积随着新硬件支持和固件改进不断增长。许多用户在软件更新器中频繁看到数百 MB 的更新,一个月内多次下载完整包。
例如,2023 年至 2024 年 11 月期间,部分用户因流量限制深受 500MB 更新之苦,而包中 99% 的内容可能与他们的设备无关。
不仅用户受影响,Canonical 的基础设施也承受着压力。更大的更新包意味着更高的带宽成本,构建时间也随之延长。
固件包中虽然包含许多必要组件,但并非所有用户都需要全部内容。例如,使用 Intel 或 AMD 设备的用户可能并不需要 RISC-V 系统的固件。这种“一刀切”的方式虽然方便,却带来了效率低下。如何优化更新机制,成为一个亟待解决的问题。
Canonical 工程师 Juerg Haefliger 发起讨论,提议分别针对 Intel、AMD 和 Broadcom 等硬件制造商,将 linux-firmware 拆分为厂商特定的子包。
这种方式能显著减少 Ubuntu 的安装占用空间,加速用户更新过程,同时为 Canonical 带来效率提升。然而,挑战在于 Ubuntu 的“开箱即用”特性依赖于预装所有固件。若关键固件在启动时缺失,硬件可能无法正常工作。
一种设想是在 Ubuntu 安装镜像(ISO)中预装所有固件子包,安装完成后由安装程序移除不需要的部分,类似处理未使用的语言文件或应用。
另一种更简单的方法是按架构划分固件包,例如 Intel / AMD 设备用户无需下载 ARM 或 RISC-V 相关固件。两种方案各有优劣,架构划分节省空间有限,而厂商划分可能增加复杂性。无论采取何种方式,决策都需要谨慎,并进行充分测试。