打开网易新闻 查看精彩图片

经过近一个完整版本号的准备工作,期待已久的Linux内核终止486芯片支持即将在今年晚些时候发布的Linux 7.1中实现。

计划在7.1合并窗口期内的补丁是由资深Linux内核贡献者Ingo Molnar在3月底提交的,但直到上周末才广泛引起关注。如果合并成功,该补丁将通过从Kconfig中移除M486、M486SX和MELAN配置选项来开始逐步淘汰对80486代芯片的支持,实际上阻止新的上游内核专门为486级系统进行配置。

这一变化酝酿已久,将开启自2012年移除80386处理器支持以来首次从内核中移除处理器架构支持的进程。

正如Linux之父Linus Torvalds在2022年首次考虑从内核中移除80486芯片时所指出的,他在终结386支持时同样不带感情色彩。

"我真的不认为i486级硬件还有任何相关性,"Torvalds在2022年表示,注意到虽然一些人可能仍在操作486系统,但从内核开发的角度来看它们已不再相关。"在某个时候,人们把它们作为博物馆展品。它们同样可以运行博物馆级的内核。"

换句话说,如果你想运行旧硬件,从7.1版本开始,你就必须依赖旧版本的Linux内核。

这并不意味着内核维护者们没有为486支持的清理工作努力一段时间——Molnar首次提议放弃486支持是在2025年4月。

Molnar在2025年4月下旬发布的补丁说明中提到了他与Torvalds的讨论,重申了是时候放弃486支持的看法,因为这浪费了开发者的时间。Molnar在说明中同样为取消486支持提供了理由。

"我们在x86-32上有各种复杂的硬件仿真设施来支持古老的32位CPU,而很少有人在现代内核中使用这些CPU,"Molnar解释道。"这种兼容性粘合有时甚至会造成问题,人们需要花时间来解决,而这些时间本可以用在其他事情上。"

为了避免这种时间浪费,Molnar最初提议通过要求下一个内核版本需要芯片支持时间戳计数器和CMPXCHG8B指令来消除486支持,而这些功能在80486系列芯片和一些586衍生产品中并不存在。

目前还不清楚自这一提议提出近一年来发生了什么,但从这些建议开始的kernel.org讨论链已经持续了一年,Molnar自那时起对他的提议进行了多轮修改。根据最新的合并请求,似乎选择简单切断486系列芯片的配置选项作为前进方向。

随着Linux内核7.0的最终版本预计在未来几个月内发布,7.1可以预期在今年年中某个时候推出,不过这个486终结补丁提议是否最终被采用还有待观察。

无论如何,Molnar在他的请求中指出,最近没有支持486芯片的内核包,因此"实际用户不应受到影响"。"传统用户可以继续使用旧内核,"Molnar补充道。

Q&A

Q1:Linux 7.1为什么要移除i486支持?

A:主要原因是i486级硬件已经不再具有相关性,维护这些古老硬件的兼容性浪费开发者时间,有时甚至会造成问题需要解决。Linux创始人Torvalds认为,这些设备现在更像是博物馆展品,应该运行博物馆级的内核。

Q2:移除i486支持会影响现有用户吗?

A:不会影响现有用户。据Molnar说明,目前没有支持486芯片的最新内核包,实际用户不会受到影响。传统用户可以继续使用旧版本的内核来运行他们的486系统。

Q3:这是Linux内核首次移除处理器架构支持吗?

A:不是首次。这将是自2012年移除80386处理器支持以来,Linux内核首次移除处理器架构支持。之前Linux已经有过类似的做法,当硬件变得过于陈旧时会逐步淘汰支持。