The 486 CPU is somewhat of a relic these days, but its legacy in the Linux kernel has lived on. The i486 has been the de facto minimum for decades. Even Linux, that long-term supporter of outdated architectures, is considering giving up on the chip and removing support for the 486 processors, just like it did for the 386 back in 2012.
The news comes via a post on the Linux Kernel Mailing List from Linus Torvalds himself. Recently keen on adding things like the Rust programming language and support for Intel Arc GPUs and Loongson CPUs to the Linux kernel, Torvalds is now considering removing the venerable 486, writing: “We got rid of i386 support back in 2012. Maybe it's time to get rid of i486 support in 2022?”
The idea, which seems so obvious in these days of Raptor Lake and Ryzen 7000, received a certain amount of pushback, with the claim from some users that new hardware based on the superannuated silicon was still being shipped. When the same plan was raised a year ago, one user said they were still using a 486, and wanted to continue doing so.
The 486, which dates back to 1989, is currently the minimum possible spec for running Linux, and works best with lightweight distros such as Tiny Core Linux.
It all comes down to cmpxchg8b, an instruction that compares then exchanges eight bytes (or 64 bits) of information in the computer’s memory. Mailing list member Peter Zijlstra suggested Linux should only support processors capable of carrying this out, leaving the 32-bit 486 behind and meaning new Linux kernels would run on P5-class hardware or newer. The cmpxchg8b instruction is the culprit behind the original Pentium’s ‘F00F’ bug, which saw an affected CPU without operating system mitigations in place cease to function until it was rebooted when asked to execute the instruction.
Kernel 6.1, out this year, will be a Long Term Support kernel, but with Torvalds’ backing to the idea it could be the last one that will run on the 486, with 6.2 removing the ability to run Linux on ancient beige 486 towers.
I doubt retaining backwards compatibility with the 486 hurts anything when you are compiling an x86-64 kernel or module which shouldn't get anywhere near 32bits legacy stuff.
I imagine there are some AMD 586s and Cyrix 686s still in use. Twenty years aren't that long ago.
A few years ago I had to service a 386 machine that was being used on a newspaper printing press, it needed a power supply, the original one lasted 30 years in a non temperature or dust controlled environment. Industrial machines are a different breed.