Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I know that, for 32-bit Intel Linuces, it returns i[3-6]86. For 64-bit Intel, it says x86_64. But what about other, exotic architectures? (PowerPC, Alpha, SPARC...) Is there an authoritative list somewhere?

Bonus points if there's info about other non-Linux Unices too.

share|improve this question
up vote 4 down vote accepted

i386 i686 x86_64 ia64 alpha amd64 arm armeb armel hppa m32r m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb sparc

Found here, on the right. The list is no full i guess, but close to that :) Googling for linux "list of architectures" helps!

share|improve this answer
I assume you mean the list of related questions. I see no question that could have that, could you give the link or at least what the question sounded like? – JCCyC Sep 10 '09 at 18:58
No, there's list of architectures supported by "alsa" package, which I believe has all popular archs included :) I've already made-up this list for you, there's no additional info on that page. – kolypto Sep 11 '09 at 18:34
Just realized that my uname -m shows 'x86_64' and 'i686'. Curious... – kolypto Nov 15 '09 at 0:58
If you would run a 32 bit -generic kernel on a 64 bit processor, uname would report i686, not x86_64. – kolypto Nov 15 '09 at 1:00

I'd hardly call PowerPC, Alpha or SPARC "exotic".

The values returned by uname are quite arbitrary, they form an open set. You may find lists of some possible values (autoconf project has one), but there is no real list that will list everything.

share|improve this answer
Have a look through a recent config.sub and config.guess from the autoconf source and you'll see a wide non-comprehensive list of possibilities. – David Pashley Sep 8 '09 at 22:18

Maybe someone knows of a complete list somewhere...

As far as how the kernel implements the uname system call, filling in the proper information for the uname structure is spread across each of the arch directories in the kernel. So filling in the processor name and machine type for an x86 processor is done within the arch/x86 kernel source tree, and filling in that information for a powerpc is done someplace within the arch/powerpc tree.

I would figure that the kernel source has the answer to your question, it just may be that finding it may be time consuming.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.