LINUX

关注公众号 jb51net

关闭
操作系统 > LINUX >

又一代老硬件退场! Linux 内核正式放弃Intel 486 CPU

脚本之家

今天我们来聊聊Linux社区一个标志性的事件:Linux内核即将正式移除对已有37年历史的Intel 486 CPU的支持。这一变化已在Linux 7.1内核的开发分支中悄然启动,由资深开发者Ingo Molnar提交的补丁直接删除了CONFIG_M486SX、CONFIG_M486和CONFIG_MELAN等Kconfig构建选项。Linux之父Linus Torvalds此前明确表示,继续维护486支持“零实际理由”,这不仅会浪费上游内核开发精力,还可能拖累整个x86架构的优化进程。

Intel 486 CPU的传奇历史

1989年4月10日,Intel正式发布i486处理器,这款CPU标志着x86架构从16位向32位全面转型的里程碑。486系列包括DX、SX、DX2、DX4等变体,主频从16MHz起步,最高可达100MHz(通过倍频技术)。它内置387协处理器(部分型号集成FPU),支持分页机制和更先进的缓存设计,比前代386提升了数倍性能。486时代见证了个人计算机的爆发:从DOS到Windows 3.1,从Lotus 1-2-3到早期3D游戏如Doom的前身Wolfenstein 3D,无数开发者、企业和爱好者都依托486平台 完成了计算革命。

当时,486不仅驱动了办公生产力,还奠定了现代PC生态基础。AMD、Cyrix、UMC等厂商也推出兼容芯片,进一步降低了门槛。直到1993年Pentium问世,486才逐步让位,但其影响力延续至今——许多嵌入式系统和工业控制设备仍能看到它的影子。37年后,这款“老古董”终于走到内核支持的终点,这既是技术进步的必然,也是时代变迁的缩影。

Linux内核对老硬件支持的演变

Linux内核长期以“兼容一切”著称。从1991年Linus Torvalds发布0.01版开始,内核就积极支持各种老旧x86 CPU,包括早期的80386。2012年,内核彻底移除386支持后,486成为x86-32平台最后的“古董”选项。内核代码中保留了大量硬件仿真设施,如特定指令集的回退路径、时钟计数器(TSC)兼容处理以及CMPXCHG8B指令的模拟,以确保486系统能编译并运行现代内核。

然而,随着Linux发行版对资源需求不断提升——Ubuntu等主流发行版最低内存要求已升至6GB以上——486平台的实际可用性越来越低。现代内核引入的特性,如更复杂的调度器、文件系统优化和安全补丁,都需要更高效的代码路径。老旧兼容胶水代码不仅增加了维护负担,还偶尔引发bug,让开发者耗费精力去修复本应无人使用的路径。

补丁细节与Linus Torvalds的表态

本次移除支持的直接推动者是Ingo Molnar。他在补丁注释中写道:“在x86架构中,我们为极少数人使用的古老32位CPU保留了各种复杂的硬件仿真设施。这些兼容胶水有时甚至会引发问题,占用开发者本可用于其他工作的宝贵时间。”Molnar直接引用了Torvalds的观点,进一步强化了这一决定。

Torvalds早在2022年就表达过类似看法,当时他指出非Pentium支持“实际上已经存在bug且无法正常工作”,并强调“没有任何人会浪费一秒开发精力在这类问题上”。2026年4月,这一想法终于落地:补丁已进入tip/tip.git的x86/platform分支,预计随Linux 7.1合并窗口正式合并。后续版本中,剩余的486支持代码将被彻底移除,用户将无法编译出针对i486的内核镜像。

为什么现在是时候移除?

首先,486的硬件特性已与现代内核脱节。它缺少Pentium引入的TSC(Time Stamp Counter)和CMPXCHG8B(CX8)指令,而这些已成为内核低级优化的基础。继续维护兼容层会导致代码复杂化,增加潜在安全风险和性能开销。

其次,实际使用场景极少。主流Linux发行版早已不再提供486预编译镜像,几乎没有厂商为这类CPU打包软件。Phoronix等媒体指出,目前仍在486上运行现代上游内核的用户“极其罕见”。内核开发者资源有限,更应聚焦ARM、RISC-V、x86-64等主流平台,以及AI、云计算等新兴领域。

最后,这符合Linux一贯的演进逻辑。2012年移除386支持后,内核开发效率显著提升,类似决定并非首次。移除后,x86-32的最低支持门槛将提升至Pentium或更高,简化代码路径,让更多精力投入到实际用户痛点上。

对用户和社区的影响

对于绝大多数用户,这一变化几乎无感。主流PC、服务器和工作站早已使用远超486的处理器。但对极少数怀旧爱好者或工业遗留系统用户来说,需要提前规划:继续使用现有LTS内核(如6.x系列)可延长寿命;或者升级到Pentium及以上平台,以获得完整现代Linux体验。

社区反应整体理性。许多开发者在邮件列表和论坛中表示理解,认为这是“必要的前进”。部分老硬件爱好者则表达了怀旧情绪,但也承认维护成本过高。值得一提的是,Linux社区一直鼓励通过旧内核或虚拟化方式延续经典硬件生命力。

老硬件的新生

即使上游内核不再支持,486平台的乐趣并未终结。2026年初,开发者Piotr Grzesik(网名Maniek86)耗时不到6个月,从零设计并开源了一款M8SBC-486主板。该主板采用4层PCB、FPGA实现芯片组模拟,支持Cyrix/Intel 486 CPU,已成功运行Linux 2.2.26、MS-DOS 6.22、FreeDOS,以及Doom、Wolfenstein 3D、Prince of Persia等经典游戏。

M8SBC-486项目完全开源,包含原理图、PCB文件、VHDL代码和BIOS源码,GitHub上可免费下载。这不仅为486爱好者提供了硬件延续方案,也展示了FPGA在复古计算中的强大潜力。类似项目证明,老硬件通过社区创新,仍能焕发活力。

Linux哲学

Linux内核的成功在于其务实与创新平衡。Torvalds多次强调,内核不应为“理论上可能”的场景牺牲实际用户体验和开发效率。移除486支持,正是这一哲学的体现。它提醒我们:技术进步总伴随着取舍,社区需在怀旧与前沿间找到平衡。

对开发者而言,这意味着更干净的代码库、更快的迭代周期。对普通用户而言,现代Linux将继续提供高效、安全的体验。对硬件爱好者而言,这或许是拥抱新平台、探索虚拟化或FPGA复刻的契机。

Linux 7.1的这一变化,标志着x86老时代正式画上句号。37年的Intel 486 CPU曾改变世界,如今它以另一种方式完成使命——推动内核向更高效未来迈进。如果你手头还有486系统,建议立即备份数据并切换到LTS内核;如果想继续玩转复古计算,不妨关注开源主板项目,或尝试QEMU虚拟化运行老系统。