GNU Linux-libre 6.18 的新特性深度解析

  • GNU Linux-libre 6.18 清理了专有驱动程序和设备树 blob,同时保持了 Linux 6.18 的总体改进。
  • 新驱动程序(FourSemi、TI TAS2783、Qualcomm GENI)被禁用,而 Nova-Core 和 Intel Xe 等驱动程序则被调整。
  • 该项目提供源代码和 DEB/RPM 软件包,以便在多个发行版上使用 100% 免费的内核。
  • Linux-libre 是 GNU 项目的一部分,由 FSF 支持,是完全自由发行版的基础。

GNU Linux-libre 6.18

如果你是一个对系统每个细节都一丝不苟的人,并且非常关心电脑上运行的所有软件是否真正免费, 到货 de GNU Linux-libre 6.18 您一定会非常感兴趣。这个新版本的知名“解锁”内核基于 Linux 6.18,但经过了彻底的清理,去除了所有专有固件或微代码的痕迹。

接下来我们将详细分析 GNU Linux-libre 6.18 的所有新特性我们将介绍它与官方内核相比有哪些变化,哪些驱动程序会受到影响,它的分发方式,哪些项目对其进行了打包,以及这项工作背后的理念。我们还将讨论它的友好企鹅形象 Freedo 的作用,它与自由软件基金会 (FSF) 的关系,以及为什么这个内核成为了 100% 自由发行版的标杆。

GNU Linux-libre 6.18 相对于 Linux 6.18 的主要新特性

新版本 GNU Linux-libre 6.18-gnu 内核部分 Linux 6.18这正是 Linus Torvalds 刚刚宣布为稳定的同一个分支,而且据各方消息,它将成为 Linux 生态系统中下一个 LTS 内核的参考版本。这意味着它继承了所有常规改进:性能优化、新增内部特性、扩展硬件支持以及常规的错误修复。

然而,GNU/Linux-libre 团队负责实现一系列 脚本和清理工具(“去斑点”) 它会扫描源代码以查找问题元素:加载二进制固件的驱动程序、运行时对非自由微代码的调用、文档中对外部二进制文件的引用,甚至不同架构的设备树文件中提及的二进制文件。

经过这一过程,在 GNU Linux-libre 6.18 中,以下问题已被识别并予以消除或移除。 新的控制器和代码片段 官方内核树中的某些驱动程序依赖于二进制文件。这项工作不仅影响新添加的驱动程序,还会影响固件加载机制在此版本中发生变化的现有驱动程序。

同时,6.18-gnu 版本包含了 Linux 6.18 优化这些改进包括整体性能提升、持续改进 Apple Silicon(M2 Pro/Max/Ultra)、继续支持 Intel Wildcat Lake 平台、集成新的“Sheaves”代码、默认启用 XFS 文件系统的在线 fsck 功能,以及增强触控板的触觉反馈支持等等。当然,所有这些都建立在项目的核心原则之上:零专有软件。

项目的核心:一个无blob内核

GNU Linux-libre 存在的理由是提供 一个与 Linux 兼容但完全免费的内核旨在成为遵循自由软件基金会 (FSF) 自由软件分发指南 (FSDG) 的系统的一部分。这意味着移除所有未以可修改源代码形式分发或受限制性许可约束的组件。

实际上,这意味着移除或停用 驱动程序、固件、打包成数据的二进制文件、需要外部二进制文件的脚本 以及对专有固件的运行时调用。旨在诱导用户下载非自由组件的注释和文档也被移除,从而防止用户被诱导使用专有软件。

该项目的重点是 最小的变化问题部件会被移除或中和,但不会尝试重写它们,也不会提供功能相同的免费替代品。目标是保证系统的自由度,即使这意味着如果没有免费的替代方案,某些硬件将无法运行。

这项持续进行的工作始于 gNewSense 发行版,由 Jeff Moe 发起并命名,于 2008 年由 FSF 拉丁美洲接手,并自 2012 年以来一直持续进行。 它正式成为 GNU 项目的一部分如今,它已成为众多经自由软件基金会 (FSF) 认证的 100% 免费操作系统的基础。

GNU Linux-libre 6.18 中清理了新的驱动程序

GNU Linux-libre 6.18 开发工作中最引人注目的部分之一是清理工作。 Linux 内核 6.18 中新加入的驱动程序 它们试图加载固件二进制文件。如果不加以控制,它们会要求使用非自由二进制文件,从而损害系统的纯净性。

在这个版本中,团队 已识别并限制了几名新司机 在官方版本中,这些版本需要依赖专有固件才能正常运行:

  • FourSemi 控制器FourSemi 数字音频放大器驱动程序和相关库(包括 FS2104/5S 型号)已进行清理,这些库在标准 Linux 中尝试加载 blob 来管理某些模式和功能。
  • TI TAS2783 驱动程序该分支新增的德州仪器 TAS2783 扬声器放大器驱动程序包含固件加载逻辑,该逻辑已被禁用,以防止其请求非自由二进制文件。
  • 高通 GENI 串行引擎高通的 GENI 系列引擎负责管理该品牌平台上的通信接口,如果没有人干预,它也会尝试加载数据块,因此它受到了去数据块处理过程的影响。

在所有这些情况下,结果都是: 驱动程序不再声称拥有专有固件根据驱动程序对该微代码的依赖程度,设备的实际功能在 GNU Linux-libre 下可能非常有限或根本无法使用,但这符合不强迫用户使用专有组件的前提。

对现有驱动程序的调整:Nova-Core、Intel Xe 等

除了新引入的驱动程序外,GNU Linux-libre 6.18 还修改了以下行为: 先前版本中已存在的驱动程序 Linux 6.18 中固件管理机制发生了变化。随着主树的演进,这些调整对于保持内核无二进制大块(blobs)是必要的。

其中一些值得注意的案例,我们发现:

  • Nova-Core,一款用于 NVIDIA 的 Rust 驱动程序。这款名为 Nova-Core 的全新开源驱动程序是用 Rust 编写的,它完全依赖于 NVIDIA GPU 系统处理器 (GSP)。如果没有 GSP 的专有固件,该驱动程序将无法运行。GNU/Linux-libre 修改了其脚本,阻止加载这段微代码,从而有效地使 Nova-Core 无法工作。 没有斑点则无法运行但它维护了制度的自由。
  • 下一代英特尔 Xe现代 Intel Xe 驱动程序依赖于 GuC 微控制器及其二进制固件来实现队列管理、调度和其他关键功能。Linux-libre 6.18 进一步加强了清理流程,阻止请求或加载此固件,这也使得该驱动程序在没有免费替代方案的情况下几乎无法使用。
  • TI PRU 以太网基于德州仪器 PRU(可编程实时单元)的以太网控制器也对其上游数据块逻辑进行了更改。GNU/Linux-libre 更新了数据块提取,以确保…… 这些SoC上没有加载专有固件。.
  • Marvell WiFi-Ex对 Marvell WiFi-Ex 系列官方代码树的修改迫使对清理工作进行审查,再次阻止了对这些无线适配器的二进制固件的任何引用或上传尝试。

这些调整表明清洁过程是 持续且反应式每当以前依赖于二进制文件的驱动程序的代码发生更改时,Linux-libre 团队都必须再次审查该代码,以确保没有新的专有固件加载机制“溜进来”。

驱动器和部件被移除或重新安置

这不仅仅是清理或调整的问题。在 GNU/Linux-libre 6.18 中,也存在 Linux 内核本身移除某些组件的情况,从而允许…… 简化去斑点过程.

一个明显的例子是…… TI WL1273 FM 收音机驱动程序由于该驱动程序依赖于二进制固件,因此在之前的版本中需要进行特定的清理工作。现在,它已从官方 Linux 6.18 代码库中完全移除。因此,在 GNU Linux-libre 6.18 中,与该驱动程序相关的所有去二进制逻辑也可以移除,从而降低脚本集的复杂性。

另一个引人注目的例子是…… Lantiq GSWIP 驱动程序这是一个适用于特定平台的千兆交换机驱动程序。在 Linux 6.18 中,它在源代码树中的位置发生了变化,因此需要调整项目清理系统用于定位和处理相关代码片段的路径和模式。

这些位置和移除方面的变化反映了如何 主内核不断进行重组以及 GNU Linux-libre 应该如何保持更新,不仅要跟踪新的二进制文件,还要使工具适应代码树结构的变化。

清理 ARM64 架构上高通、联发科和德州仪器的设备树

清理工作不仅限于驱动程序的 C 代码。在这个版本中,最棘手的任务之一是审查…… 新的设备树 (DT) 文件 适用于 ARM64 平台,该平台描述了基于高通、联发科和德州仪器的系统的硬件。

在 Linux 6.18 中,其中一些设备树包括 明确引用固件二进制文件二进制文件路径或属性表明某些组件需要非自由微代码。如果不加干预,直接使用这些设计文档可能会导致用户需要搜索并加载专有组件。

GNU Linux-libre 6.18 负责“清理”这些文件,移除或修改 ARM64 架构中对高通、联发科和德州仪器二进制文件的引用。这确保了自由内核不会…… 充当推荐向量 不涉及自由软件,从而遵守 FSF 的指导原则。

如何获取 GNU Linux-libre 6.18

该项目提供多个官方渠道。 下载并使用 GNU Linux-libre 6.18-gnu既有源代码形式,也有可直接安装在流行发行版上的二进制软件包形式。

一方面, 源代码 可以通过 Git 从项目维护的仓库中获取:

  • 发布版本的 Git 仓库: git://linux-libre.fsfla.org/releases.git,标签如下 scripts, sources y logs 适用于 v6.18-gnu 版本。

此外,版本发布后不久,它们就上市了。 预压缩焦油球 来自FSFLA官方网站:

  • https://www.fsfla.org/selibre/linux-libre/download/releases/ (ubicación habitual de los tarballs de cada versión).

那些不想手动编译内核的人可以采用以下方法: 已准备好的二进制包 相关项目:

  • 弗莱什提供适用于基于 Debian 及其衍生发行版的即用型 .deb 软件包,其中已编译了 GNU Linux-libre 内核。
  • 转速自由:为希望采用此免费内核的 Red Hat、Fedora 和衍生系统提供 .rpm 软件包。

这样,用户可以选择 编译你自己的内核 您可以直接从源代码安装,也可以安装预先制作好的软件包,将其与发行版的标准内核集成或替换它。

Linux-libre 的发行版和生态系统

GNU/Linux-libre 是许多 Linux 构建的基石。 完全免费的分发 包括Trisquel和PureOS在内的许多发行版都获得了自由软件基金会(FSF)的认可。这些发行版使用此内核,以确保整个系统符合最严格的自由软件准则。

他们中的许多人提供预先准备好的图片。 最新版本的 Linux-libre 或者至少使用密切相关的分支。在其他情况下,他们允许用户从他们的仓库或其他仓库中选择内核,这样用户就可以在不更改发行版的情况下,用一个不包含二进制文件的内核替换通用内核。

对于管理员和爱好者来说,GNU Linux-libre 6.18 也可以安装在…… 几乎任何常规分布只需编译或安装 Freesh/RPM Freedom 软件包,并配置启动管理器在系统启动时选择此内核即可。即使在默认包含非自由组件的发行版中,这也能创建一个更符合自由软件原则的环境。

GNU Linux-libre 究竟是什么(以及它不是什么)?

该项目本身强调,GNU Linux-libre 首先是…… Linux 内核的修改版本此内核专为力求完全自由的 GNU 系统而设计。其目标是让任何希望遵守自由软件基金会 (FSF) 的自由软件开发指南 (FSDG) 的发行版都能使用此内核,并确保其中不包含任何可能导致用户安装专有代码的二进制文件或引用。

他们的文档解释说,无论是否是自由组件,都会将其移除。 伪装成源代码 (但它们实际上是嵌入式二进制文件),就好像它们分布在单独的文件中一样。此外,运行时对专有固件的请求已被禁用,指向非自由资源的手册或注释也已被清除。

然而,该项目 不打算重写这些组件 他们也不提供免费的替代驱动程序来取代专有驱动程序。他们的做法是极简主义:移除非自由软件,其余部分几乎保持不变,并鼓励其他组织尽可能开发免费的替代方案。事实上,许多仍然依赖于开源软件的设备都已在 LibrePlanet 等网站上记录下来,其目标是协调各方力量,以便将来发布这些开源软件。

最后,尽管吉祥物是企鹅,但开发商坚称 GNU项目和自由软件基金会的作用 构建完整的系统意义重大,而自由内核只是理想自由系统中的又一块拼图。

GNU/Linux-libre 6.18 融合了 Linux 6.18 的所有技术改进,并对固件、驱动程序和设备树进行了彻底的清理,巩固了其作为软件自由度极高的用户的强大选择的地位。从全新精简的数字音频和高通系列引擎驱动程序,到 Nova-Core 和 Intel Xe 等 GPU 驱动程序的调整,再到 ARM64 平台的清理以及适用于多个发行版的软件包,该版本表明,在不放弃不加载不必要组件原则的前提下,完全可以保持内核的前沿性。 非专有二进制文件.