Arm
我的 linux ARM 是 32 位還是 64 位?
在英特爾下,我知道我可以查看結果
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-m)uname``aarch64