`uname -m`的可能值

时间:2017-07-16 05:55:45

标签: linux unix

uname(1)命令行实用程序有-m选项,用于打印"机器硬件名称"。

在Linux上,此字段来自machine的{​​{1}}成员,由uname(2)系统调用填充。

许多其他语言API都会返回此信息:

"机器"的可能值是多少?字段吗

1 个答案:

答案 0 :(得分:12)

的Linux

(v4.12 - 2017年7月)

让我们来参考newuname系统调用的来源。

由于Linux具有UTS namespacesinit_uts_ns machine字段由UTS_MACHINE宏初始化,因此对此进行跟踪很复杂,这是根据架构定义的

更复杂的问题是,machine可以通过override_architecture()覆盖,如果进程是在32位" compat"个性,COMPAT_UTS_MACHINE

UTS_MACHINE默认MakefileARCH相同。但是,许多平台在同一arch目录下具有单独的子架构,因此他们自己设置UTS_MACHINE

使用arch/中的目录列表以及Linux内核源grepgit grep 'UTS_MACHINE\s*:='的一点git grep COMPAT_UTS_MACHINE,我们可以到达此列表:

  • alpha
  • arc

  • arm

  • aarch64_bearm64
  • aarch64arm64
  • armv8barm64 compat)
  • armv8larm64 compat)

  • blackfin

  • c6x
  • cris
  • frv
  • h8300
  • hexagon
  • ia64
  • m32r
  • m68k
  • metag
  • microblaze
  • mips(原生或兼职)
  • mips64mips
  • mn10300
  • nios2
  • openrisc
  • parisc(原生或兼职)
  • parisc64parisc
  • ppcpowerpc native or compat)
  • ppc64powerpc
  • ppclepowerpc native or compat)
  • ppc64lepowerpc
  • s390s390x compat)
  • s390x
  • score
  • sh
  • sh64sh
  • sparc(原生或兼职)
  • sparc64sparc
  • tile
  • unicore32
  • i386x86
  • i686x86 compat)
  • x86_64x64
  • xtensa