The Linux kernel, the core part of the GNU/Linux operating system, is ending support for some very old computer processors. Soon, with the release of the Linux 6.15 kernel, support for the Intel 486 and the early models of the Pentium processor (i586 or P5 Pentium) will be removed.
This change marks the end of an era for these classic chips within the main Linux Kernel development.
Table of Contents
Why Linux Ends Support for i486 and Early Pentium
This decision isn't made lightly. The main reasons behind it are about making the Linux kernel better for modern computers.
1. Simplifying the code
Supporting very old hardware requires special code to make everything work. Getting rid of support for these old chips means about 14,104 lines of legacy code can be removed across roughly 80 files.
This makes the kernel code easier to manage and understand.
2. Reducing maintenance work
Fixing problems and adding new features to the kernel takes a lot of effort. Spending time on hardware that very few people use with current systems isn't the best use of developers' time.
Linus Torvalds, the creator of Linux, recently felt that there was "zero real reason for anybody to waste one second of development effort on this kind of issue".
Citing Linus Torvalds' remarks in the Kernel mailing list, Ingo Molnar, a senior Linux kernel developer, noted that the complex "compatibility glue" for these ancient 32-bit CPUs was sometimes even causing problems that developers had to spend time resolving.
3. Improving performance
By removing code needed only for old chips, the kernel can be better optimised for newer, faster hardware.
A Look Back
This isn't the first time Linux has said goodbye to older hardware. The last time support for a major chip family was dropped was in 2012, for the Intel 386 family.
Interestingly, Microsoft made a similar decision much earlier, stopping support for the 486 with the release of Windows XP back in 2001.
This shows that Linux provided support for these older chips for a much longer time i.e. over 20 extra years compared to Microsoft.
The 486 processor itself was first introduced back in 1989. Intel eventually stopped production of the i486 in late 2007.
Here is the picture of i486 processor:
[Image source: By Henry Mühlpfordt - Own work, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1849256]
What are the New Requirements for Linux Kernel?
Going forward, the Linux kernel will require a minimum x86 CPU that has specific features: the Time Stamp Counter (TSC) and the CMPXCHG8B (CX8) instruction.
These features became standard with the original Pentium (P5) processor, which came after the 486. Older chips like the 486 and some early others like the IDT WinChip or AMD Elan did not have these features.
Who will this affect?
The simple answer is: almost no one. These processors are incredibly old by today's standards.
Most people are not still using PCs from the late 1980s or early 1990s. The few people still using computers with these chips are likely hobbyists or those using them in very specific, niche embedded systems.
What if you still use a 486 or early Pentium?
If you are one of the very few people still running Linux on this old hardware, you have a couple of options:
- You can continue to use older versions of the Linux kernel.
- You could use older Linux distributions, such as Debian 3.0 or Ubuntu 10.04.
- There are also some specialised Linux distributions designed specifically for very old hardware.
- Linus Torvalds also suggested using Long Term Support (LTS) kernels, which continue to receive updates for a longer period.
Please be mindful that using very old kernels or distributions means you likely won't receive modern security updates.
Moving Forward
Ending support for the 486 and early Pentium is a necessary step for the Linux kernel. It allows the project to focus its resources on developing and improving the operating system for the hardware most people use today.