[CentOS-devel] Why does CentOS 5 claim to be i386 compatible when it's really not?

Sun Dec 12 21:35:35 UTC 2010
Martin Jungowski <martin at rhm.de>

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

-- 
Rieke Computersysteme GmbH
Hellerholz 5
D-82061 Neuried
Email: martin[at]rhm[dot]de