具有Ubuntu 18.04服务器arm64的Raspberry Pi 3 B:什么pi版本


8

我如何找到适用于arm64的Ubuntu 18.04服务器使用的芯片(什么版本的raspberry pi)?我可以检查哪个文件或可以运行什么命令?/ proc / cpuinfo没有有用的信息,只有一些常规细节,没有提及pi。


cat /proc/cpuinfo应产生对应于所述板上的修订号。参见: raspberrypi.org/documentation/hardware/raspberrypi/…–
Terrance

至少在Ubuntu 18.04服务器上没有。它只说“修订版:4”。
anvoice

您可能对此感到困惑,因为RP不支持允许读取板信息的SMBIOS或DMI。您可能还必须将其归档为错误,才能在cpuinfo中读取修订。
Terrance

我认为您认为它是错误是对的。但是,我只是找到至少一种解决方法。它很短,但是我会把它作为答案,以防万一人们发现它有用。
anvoice

看起来像你的实际问题是:“这树莓派我在上运行?”; 而您的标题似乎在问:“我的Raspberry Pi有哪个CPU?”;因此答案混乱。我建议您编辑问题以更改标题。
罗杰·利普斯科姆

Answers:


10

至少在用于arm64的Ubuntu 18.04服务器和Raspberry Pi 3 B上,以下命令为开发板提供了包括修订的功能:

lshw

更简单易读的输出如下:

lshw -short

这使我的开发板成为“ Raspberry Pi 3 B Rev 1.2”,这正是本例所需要的。


9

该命令lscpu是您要寻找的。这是命令的示例输出(在我的Raspberry Pi 3B +上拍摄):

lscpu

产生以下输出:

Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model:                 4
Model name:            ARMv7 Processor rev 4 (v7l)
CPU max MHz:           1200,0000
CPU min MHz:           600,0000
BogoMIPS:              38.40
Flags:                 half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32

另一个选项是inxi命令(如果不附带,则可能必须安装它sudo apt install inxi)。使用标志-C,如下所示:

inxi -C

产生以下输出:

CPU:       Quad core ARMv7 rev 4 (v7l) (-MCP-) (ARM) 
           clock speeds: max: 1200 MHz 1: 1200 MHz 2: 1200 MHz 3: 1200 MHz 4: 1200 MHz

至于确定您的电路板使用的是哪种芯片,您可以在电路板上以及制造商的网站上查看该芯片的信息,以及在不同的销售网点上获取技术细节。


谢谢,这肯定会提供更多信息。但是,我运行lscpu时的型号名称被列为Cortex A-53,我相信它同时位于pi 2和3上。您是否偶然知道可以区分这两个板的更具体的命令/文件?
anvoice

通常,电路板的类型和修订版也会印刷在电路板上,因此您可以检查一下,否则我就一无所知。
Videonauth

我知道了。我知道我的董事会是什么,但是图书馆维护者需要此信息来调整他的图书馆以与我的硬件和软件一起使用。尝试过inxi,它也仅提供通用输出。真的很感谢您的帮助。
anvoice

1
至于您要使用的库,只有一个问题。是否有提供所需功能的库?这是您可以从机器程序明智地获得的信息。在台式计算机上,可能会有更多信息可以获取有关CPU版本的信息,而树莓在这方面缺乏一点,因为将所有这些信息放入某些芯片中会增加成本。
Videonauth

1
当前的inxi(3.0.xx)具有比传统inxi(2.xx.yy)更好的ARM支持,我认为这是您在18-4中发现的。这将最大程度地提供有关实际SBC设备本身的大量信息。在rasberry pi 3上,唯一无法捕获的是mmc wifi设备,该设备太复杂而无法获取数据,但是在新的inxi中,关于pi 3的报告相当完整。旧版inxi仅提供基本的ARM支持。在任何pi设备上比较inxi -Fxxx或-v7的旧版和最新版,您会明白我的意思。
Lizardx

2

我试图将Pigpio移植到Debian arm64,但最终失败了,因为我发现Debian arm64内核不支持Pigpio依赖的用户空间邮箱接口,但是这样做了,我进行了一些有关如何检测Pis的研究。运行Debian arm64内核。我怀疑这也适用于ubuntu arm64。

正如您所发现的,/ proc / cpuinfo仅具有有关这些内核的CPU内核信息。幸运的是,该信息可以在/ proc中的其他地方找到

首先要检查设备是否为Pi,我检查了/ proc / device-tree / model,它具有描述该设备的文本字符串,因此不太可能出现误报。

要获取我使用的/ proc / device-tree / system / linux,revision修订版本代码,其中包含修订代码为大端字节二进制整数。因此,需要将其作为二进制整数从文件中读取,然后转换为little-endian(为此我使用了ntohl)。

您可以在https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26查看我的代码


谢谢,这确实是我想要的。
anvoice
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.