Hi everybody,
I've tried to install CentOS 5.5 i386 on an AMD Geode LX 800 processor. That processor, being of the much more recent i586 family, is fully i386- compatible. However, my attempt was brutally shattered when I had to discover that CentOS takes a rather open and surprising attempt at defining x86 compatibility: while claiming to be i386-compatible CentOS 5 requires an i686 processor and does not support the fully i386 but not the least i686 compatible i586 architecture.
This is more of a general issue. i386 does not generally refer to "whatever x86-compatible processor is the most recent" but a very well defined and standardized architecture. Specifically, i386 refers to Intels 80386 processor and its 32-bit x86 architecture (which is why x86 are i386 are often used interchangeably when x86 should instead be referring to the 8086 architecture). Code that claims to be i386 compatible has to run on any given microprocessor that claims to be i386 compatible. It's as simple as that: if it doesn't run on i386 processors then it's not i386 compatible. That's industry standard and thus universally valid. If one would claim i386 compatibility but require a x86_64 compatible processor, which of course would be capable of executing standard i386 code, it'd be the exact same issue. It'd be more radical but at its core not different from CentOS's unmet claim of i386 copmpatibility.
I guess my question is thus quite simple: why does CentOS 5 claim to be i386 when it's not even remotely i386 compatible? And shouldn't the name reflect code and/or processor family compatibility and affiliation?
And in a closely related question of more personal interest: what exactly is it that makes CentOS require an i686 processor?
Thanks, Martin