Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

I assume such distros have a CI infrastructure set up? If they are building from source, they should be able to keep i386 ticking over (sans anything that has a hard requirement on amd64, e.g. JITters).


sort by: page size:

I think a few distros still support all the way back to i486. Debian and Ubuntu only support i686 though. Too bad too because i586 CPUs were on the market as recently as 2015 (Intel Quark).

https://www.phoronix.com/scan.php?page=news_item&px=Debian-6...


I don’t think most distros compile for i486, minimum is i686 (not too familiar with the jargon though, before my time). Even the kernel itself was going to trash i486 support entirely. https://www.phoronix.com/news/Intel-i486-Linux-Possible-Drop

Damn, it wants to install a thousand i386 packages on my system. Too much to ask for an x86-64 build? :D

Linux dropped support for i386 not too long ago. Older versions of x86 are not supported either.

Yes, everybody moves on

Even for old farts that are "x86, 32b distribution", they are mostly i686. As far as I know, no mainstream OS support i386. The Linux kernel dropped its support years ago.


Yeah, we considered following Linux's lead by creating a new "i386 with 64-bit time_t" ABI but frankly nobody was interested in doing a lot of work for probably very little benefit.

True, but it's the future. Eventually no distro will ship i686 code anymore, just as they don't ship i386 code anymore.

Oh right, so that means any JIT that expects to generate x86-64 code and run it, can't. Maybe some exceptionally flexible jit implementations run (if they detect which arch to use at run time - sounds very unlikely).

No. Support for anything below i686 was dropped in 2010. Which was annoying as I both owned i586 hardware and worked for Canonical/Ubuntu at the time.

No not anymore, the Linux kernel even doesn’t support the 80386 at this point.

i386 is kept as the arch name, but the baseline has went up.

Jessie needs at least a Pentium, and Stretch needs an i686.


I use a binary distro and definitely don't want to be running massively slowed-down software mitigations on a corrected CPU.

Although actually, we already are - binary distros already don't take into account per-microarchitecture scheduling, nor any ISA extensions above a common baseline (e.g. just SSE2, no autovectorising to AVX2 etc).

This might provide enough impetus to restructure how binary distros work and get the whole distro compiled with some newer CPU flags (march={first corrected architecture}?) but in the short term i assume every package will take the hit.

Great time to learn about source-based distros!


Interestingly however, Linux distros have been quick to adopt i686. I remember setting up a router on a small PC with a VIA processor several years ago. Inserted a Debian hard drive into that box — "cmov instruction not supported" instead of booting. The i586 version existed of course, but wasn't the default download IIRC.

I won't take any distro seriously that doesn't support at least i686, amd64, arm and arm64.

Compiling for four architectures can't be too much to ask. Shit software that can't be written portably enough to run on more than amd64 must be kicked off the repo. We need this pressure on developers if we're to maintain a modicum of code quality.


> which will basically never kill x86 ABI support

Ubuntu decided to drop i386 support since 19.10, for one. Though, x86_64 kernel still supports running 32-bit software and multilib support is there. The kernel is unlikely to drop support for the architecture, but if the distributions stop including it it will die off at some point.


It's because in 2021, i386 processors are obsolescent. The last non-amd64 processor that ran x86 is the Pentium 4E from 2004, a 17-year-old machine. The packages will still be available as long as there's a maintainer, but it's not worth packaging a full debian release for such a small and shrinking portion of the userbase.

For a "similar" approach, I would opt for a slackware or a gentoo.

I understand that some people would like to keep Arch 32 bit for their use cases. But as any open source project, the developer are mostly working on it on their spare time, you can not force them to work on anything. Having followed a little bit the discussion on the mailing list [1], I don't remember having seen a lot of objection among the developers. Also, they encourage the creation of a community around i686 [2]:

     However, as there is still some interest in keeping i686 alive, we would like to encourage the community to make it happen with our guidance. The arch-ports mailing list and #archlinux-ports IRC channel on Freenode will be used for further coordination.
So if there are people willing to do the job, Arch will still be usable on 1686.

[1] https://lists.archlinux.org/pipermail/arch-dev-public/2016-D... [2] https://www.archlinux.org/news/phasing-out-i686-support/


No, according to this [1], Debian's i386 architecture dropped support for the 386 and 486 in versions Sarge and Squeeze respectively. Pretty amazing that it did work on the first Pentium (released 1993!) up to 2018. In Debian version after Jessie the Pentium (i586) has been dropped too [2].

Of course, I don't think many people are using i386 builds anymore - most people would have switched to the more modern x86_64 long ago.

1. https://www.debian.org/releases/jessie/i386/ch02s01.html.en

2. https://www.debian.org/releases/stretch/i386/ch02s01.html.en


Much of it is mainline, yes. So I’m thinking they expect x86 like compatibly.

Modern DevOps and CICD should be able to abstract this away. Devs can develop on whatever they want and then push to ARM or x86 servers.
next

Legal | privacy