4月6日、Mark Tysonが「Linux devs start removing support for 37-year-old Intel 486 CPU」と題した記事を公開した。
Linuxカーネル開発者らが、37年前にリリースされたIntel 486 CPUのサポート削除を開始した。Linux創設者のLinus Torvalds自身が「486を継続サポートする『現実的な理由はゼロ』」と断言したこの決定は、1991年のLinux誕生以来続いてきた歴史的なサポートに終止符を打つことになる。
PC革命を支えた486の遺産
Intel 486は1989年にリリースされ、PC革命の立役者となったプロセッサだ。25MHzから100MHzまでのクロック速度、32ビット処理能力、そして内蔵数学コプロセッサ(FPU)の搭載により、それまでの386から大幅な性能向上を実現した。特にWindows 3.1やDOS/4GWといった32ビットアプリケーションの普及を支え、現代のPC体験の基礎を築いた。
Linuxは1991年の誕生時から486をターゲットとしており、事実上Linux史上最も長期間サポートされたCPUアーキテクチャとなっていた。しかし、現代のLinuxカーネルにおいて、この古典的なCPUのサポートコストが開発効率を圧迫する状況になっている。
Linus Torvalds「現実的な理由はゼロ」
実際にパッチを作成したのは開発者のIngo Molnarである。彼のパッチはLinux Kernel Mailing Listで公開され、「CONFIG_M486SX、CONFIG_M486、CONFIG_MELANのKconfigビルドオプションを削除する」内容となっている。
Molnarはパッチのコメントで、サポート終了の技術的根拠を詳しく説明している:
x86アーキテクチャでは、現代のカーネルでほとんど誰も使用していない古い32ビットCPUをサポートするため、様々な複雑なハードウェアエミュレーション機能を持っている。この互換性のためのコードが時として問題を引き起こし、人々がそれを解決するために時間を費やしているが、その時間は他のことに使えるはずだ。
具体的には、486特有のキャッシュ管理、メモリ管理ユニット(MMU)の違い、浮動小数点演算の例外処理などの互換性コードが、現代のセキュリティ機能やパフォーマンス最適化の妨げになっているという。
現代Linux開発への影響
現在のLinuxカーネル開発では、Spectre/Meltdown対策、コンテナセキュリティ、eBPFなどの現代的な機能が最優先となっている。486サポートのための古い互換性コードは、これらの新機能実装時に制約となることが多い。
特に深刻なのはセキュリティ機能の実装だ。現代のLinuxに必須のKASLR(Kernel Address Space Layout Randomization)やSMEP/SMAPといった保護機能は、486では物理的に実装不可能であり、コードパスの分岐が複雑化する原因となっていた。
コミュニティの反応
Hacker Newsでは、この決定に対して興味深い反応が見られている。多くの開発者が「時代の終わり」を感慨深く受け止める一方で、「当然の判断」として支持する声が圧倒的だ。
あるユーザーは「486でDebian potato(2000年リリース)を動かした思い出」を語り、別のユーザーは「組み込みシステムでの486使用例」について言及している。しかし、現実的には2024年時点で486上でLinuxを動かす理由を見つけるのは困難という意見が大勢を占めている。
Redditの/r/linuxコミュニティでは、「最後まで486をサポートしていたディストリビューション」についての議論が活発で、Damn Small Linuxや古いバージョンのSlackwareが挙げられている。
レトロコンピューティングは継続可能
486愛好者にとって、このサポート終了が楽しみの終わりを意味するわけではない。既存のLTSカーネル(特にkernel 5.4や5.15)を使用することで、486システムでのLinux体験を続けることができる。
また、今年初頭にはGitHubで公開されたオープンソース486マザーボードプロジェクトが話題になった。このプロジェクトでは、ゼロから設計された486マザーボードでLinux、MS-DOS、さらにはDoomの動作テストに成功している。
レトロコンピューティング愛好者向けには、TinyCore LinuxやPuppy Linuxの古いバージョンが486での動作を継続サポートしている。
OSS開発の現実的判断
今回の決定は、オープンソースプロジェクトにおける技術的負債の管理という観点からも重要だ。限られた開発リソースをどこに投入するかは、プロジェクトの持続可能性に直結する。
Linuxカーネルの開発統計によると、現在月間約1000件以上のパッチがマージされており、その大部分がARM64、RISC-V、最新のx86_64アーキテクチャ向けとなっている。37年前のCPUのためのデバッグやテストに時間を費やすより、これらの現代的なプラットフォームに注力することが合理的という判断だ。
詳細はLinux devs start removing support for 37-year-old Intel 486 CPUを参照していただきたい。