Arm

我的 linux ARM 是 32 位還是 64 位?

  • September 4, 2019

在英特爾下,我知道我可以查看結果uname -m以了解我的作業系統是 32 位還是 64 位,但在 ARM 下,這給出了:

armv7l

我從

file /usr/bin/ls

我使用的是 32 位作業系統,但我怎樣才能以更簡單的方式知道這一點?

有幾個等級,因為您可以在支持 64 位的 CPU 上執行 32 位或混合作業系統。看到64 位核心,但是所有 32 位 ELF 可執行執行程序,這是怎麼回事?詳細討論(為 x86 編寫,但大部分也適用於 arm)。

您可以在 中找到處理器型號/proc/cpuinfo。例如:

$ cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 10 (v7l)

ARMv7(及以下)是 32 位的。ARMv8引入了 64 位指令集。

如果您想查看您的系統是否支持 64 位二進製文件,請檢查核心架構:

$ uname -m
armv7l

在 64 位處理器上,如果程序本身是 32 位程序,或者如果它是 64 位程序,您會看到以armv8(或以上)開頭的字元串。(另見https://stackoverflow.com/questions/45125516/possible-values-for-uname-muname``aarch64

引用自:https://unix.stackexchange.com/questions/136407