Hacker News new | ask | show | jobs
by someperson 26 days ago
I'm heartened that recent Linux kernels in 2026 can still target i386 systems!

Between i486, i586 and i686 there's been a steady drumbeat of Linux distros and kernel itself deprecating support

3 comments

> Linux kernels in 2026 can still target i386 systems!

No, they cannot. 386 support was dropped in 2012 and 486 was dropped in 2026, including some third-party 586/686 vendors as well.

https://pcper.com/2026/05/first-i486-support-now-linux-aband...

Can you explain what the featured article is talking about when it talks about i386-linux-musl and Linux kernel v6.19
Didn't mainline Linux drop i386 in like 2012? Wild it still functions tbh
I’m curious, are you running i386 devices or more philosophically opposed to deprecation?
Philosophically opposed.

I'd like to see indefinite support powered through emulation under a modern CI server hardware with rigorous automated test-suites, with maintenance potentially supported in part with AI.

But someone else should do this, of course.

> ...powered through emulation under a modern CI server...

I have a 486 PC sitting in my living room. For shits and giggles, I've cobbled together a FAT12 boot loader that runs a program directly off a floppy and played around from there.

And even by that little that I played around so far, I managed to run into more than one issue where something would work perfectly fine in Qemu, but not on the real hardware. Bochs appears to be more faithful, but also not 100% exact.

Btw. did you know that Windows 9x has an interesting TLB invalidation bug that apparently went unnoticed for decades and now triggers in KVM on AMD Zen 2 and newer CPUs? (see: https://github.com/JHRobotics/patcher9x)

AFAIK, part of the reason Linux no longer supports i486 is that it made CMPXCHG8B a hard requirement (and also RDTSC). You would need to maintain a completely separate implementation of a bunch of low-level locking primitives. I'm somewhat skeptical how well that will work when your testing relies entirely on emulation.

> ... someone else should do this, of course.

of course ;-)

A lot of things in Linux just plain won't work on an 80386; they dropped support 13 years ago mostly because the 80386 has some quirks with SMP support that make it much more difficult, and developers didn't really have real hardware to test on (emulation doesn't help with things like that).
What's the philosophy?
Whilst i386 hardware continues to exist, modern Linux kernels should continue to support it.
Does it continue to exist?
Lots of it, especially in embedded systems.