1989年发布的处理器,到2025年还在被维护。这个数字本身就像个冷笑话——比Windows 95还老6年,比USB标准早7年,比Google创始人上小学还早。
Linux社区终于决定,不再给这个"活化石"续命了。
一个补丁,终结37年长跑
开发者Ingo Molnar提交的新补丁标题很直白:"x86/cpu: Remove M486/M486SX/ELAN support"。三个配置项——CONFIG_M486SX、CONFIG_M486、CONFIG_ELAN——将被直接删除。
这不是技术债的渐进式清理,是连根拔起。Molnar在变更日志里引用了Linus的原话:
「我真的觉得是时候放弃i486支持了。没有任何真实理由,值得任何人为这种问题浪费哪怕一秒钟的开发精力。」
Linus说话向来不留情面,但这次的对象是一代传奇。i486是Intel最后一代以数字命名的处理器,1993年才被Pentium取代。它的设计影响了后续20年的x86架构,包括你现在用的电脑。
为什么现在?为什么是这个?
Linux对老硬件的宽容是出了名的。2024年还有人在树莓派Zero上跑完整桌面环境,2008年的MacBook能装最新Ubuntu,甚至90年代的PowerPC机器都有社区维护的发行版。
但486不一样。维护它的成本不是"占用存储空间"这种小事,是实实在在的工程负担。
Molnar的补丁说明里写得很具体:x86-32架构里有一堆"复杂的硬件模拟设施",专门用来兼容这些古董CPU。这些兼容层不只是躺着占地方——它们会出bug,会引入回归问题,会有人花时间调试。
换句话说,每次有人修一个现代处理器的bug,都可能被这些486专用的兼容代码绊一脚。
更尴尬的是用户基数。Linux内核邮件列表里没人敢给确切数字,但Phoronix的跟踪报道提到一个参考:某嵌入式厂商在2023年最后一次批量采购486兼容板卡,数量是"数百片"。
作为对比,Linux内核每天收到的补丁数以千计,活跃贡献者超过5000人。
谁还在用486?
这个问题有个反直觉的答案:工业控制领域。
工厂里的PLC(可编程逻辑控制器)、老式的医疗设备、某些交通信号系统——这些场景对"够用"的定义和消费市场完全不同。486的功耗低、发热小、抗干扰能力强,而且30年前的设计早就被验证透了。
有个真实的案例:2019年某德国机床厂商还在出货搭载486SX的控制系统,理由是"客户要求20年备件保障"。他们的逻辑很简单——换平台要重新认证,认证费用比多囤点老芯片贵十倍。
但这些用户大概率不会升级到Linux 7.1。他们停留在内核3.x甚至2.6.x的版本,由专门的嵌入式发行版维护,和主线开发早已分道扬镳。
真正受影响的是另一群人:复古计算爱好者。
这个圈子比想象中活跃。有人收藏原版IBM PC,有人折腾90年代的笔记本电脑,还有人在486上跑现代软件"just for fun"。对他们来说,Linux曾是最后的避风港——BSD早几年就放弃了486,Windows XP都需要Pentium级别。
现在这扇门正在关闭。
这不是第一次,也不会是最后一次
Linux内核的架构支持清理有固定节奏。2022年移除了Itanium(IA-64),2023年砍掉了a.out格式支持,2024年有开发者提议废弃32位x86的某些子架构。
486的特殊性在于它的"传奇地位"。它是Intel第一款内置数学协处理器的消费级芯片(486DX),第一款支持多处理器的x86(486DX2),第一款让"兼容机"概念普及的处理器。
但传奇不能当饭吃。内核维护者Arnd Bergmann几年前做过统计:x86架构的代码复杂度在过去十年里增长了340%,而专门服务"古董硬件"的代码占比从12%降到了3%以下。
这3%里,486相关的部分又是最"昂贵"的——它牵扯到内存管理、中断处理、浮点模拟等底层机制,不是简单删掉几行就能解决的。
Linus的表态很关键。他很少对具体技术决策公开站队,但这次主动放话,说明社区共识已经形成。补丁进入7.1合并窗口的概率,用内核开发者的话说,"接近确定性事件"。
剩下的选项
对于真的还在用486的人,出路不算少,只是都不完美。
长期支持(LTS)发行版能撑几年。Debian 11的内核版本是5.10,官方支持到2026年;某些嵌入式定制版会维护得更久。但"久"是相对的——内核6.x系列已经默认关闭486支持,只是没彻底删除代码。
更现实的方案是冻结系统。工业场景本来就这么干:一套控制软件跑二十年,期间只打安全补丁,不碰功能更新。Linux的开放性让这种"时间胶囊"策略成为可能,这是商业操作系统给不了的自由。
最硬核的选项是fork内核。486的代码量不算夸张,有能力的社区完全可以维护一个"486-linux"分支。但问题在于人——谁会为了几百个潜在用户,持续跟进主线几万个commit的变动?
复古计算圈已经在讨论这个。某个论坛帖子里的高赞回复很扎心:"我们连给Gopher协议写客户端的人都找不齐,还维护内核?"
技术债务的终极形态,不是代码腐烂,是没人记得为什么写这些代码。
486支持的最后一批活跃维护者,大多在2010年代初期就转向了其他架构。现在的内核开发者里,亲手调试过486实模式启动的人屈指可数。文档里的某些注释,写的还是"FIXME: verify on actual hardware"——而那张"actual hardware"可能早就被当电子垃圾处理了。
Molnar的补丁里有个细节:删除的代码中包含对Cyrix 486兼容芯片的特殊处理。Cyrix公司在2002年被VIA收购,2010年代彻底消失。这段代码的最后一个已知测试者,邮件地址已经 bounce 了十五年。
这就是开源维护的残酷面。没有商业合同的约束,没有SLA的倒逼,纯粹靠"有人在乎"驱动的项目,最终会收敛到"在乎的人足够多"的子集上。
486的退场,某种程度上是Linux成熟的标志——它从"什么都能跑"的极客玩具,变成了"有所为有所不为"的工程产品。这个转变花了30年,比486本身的寿命还短。
最后一个问题留给读者:你手里最老的、还在通电运行的电子设备是哪一年的?它跑的是什么系统?
热门跟贴