Ubuntu 18.04サーバーarm64を使用したラズベリーpi 3 B:piのバージョン


8

arm64用のUbuntu 18.04サーバーでどのチップ(どのバージョンのraspberry pi)を使用しているかをどのようにして見つけることができますか?チェックできるファイルまたは実行できるコマンドは何ですか?/ proc / cpuinfoには有用な情報はありませんが、piについて言及されていない一般的な詳細がいくつかあります。


cat /proc/cpuinfoボードに対応リビジョン番号を生成する必要があります。参照: raspberrypi.org/documentation/hardware/raspberrypi/...
テランス

少なくともUbuntu 18.04サーバーではそうではありません。「リビジョン:4」とだけ書いてあります。
anvoice

RPはボード情報の読み取りを可能にするSMBIOSまたはDMIをサポートしていないため、これで問題が発生する可能性があります。また、cpuinfoでリビジョンを読み取るためにバグとして提出する必要があるかもしれません。
Terrance、

バグとみなすのは正しいと思います。しかし、私は少なくとも1つの回避策を見つけました。それは短いですが、人々がそれが役立つと思う場合に備えて、私はそれを答えとして含めます。
anvoice

それは見えます、あなたの実際の質問だったように、「ラズベリーパイは私が実行していました?」。あなたのタイトルは「私のRaspberry PiにはどのCPUが搭載されているのですか?」したがって、答えの混乱。タイトルを変更するには、質問を編集することをお勧めします。
Roger Lipscombe

回答:


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

ボードに搭載されているチップの識別については、ボード上のチップやメーカーのWebサイトで情報を確認したり、技術的な詳細を入手するためのさまざまな販売店を確認したりできます。


ありがとう、それは間違いなく追加情報を提供します。ただし、lscpuを実行したときのモデル名はCortex A-53と表示され、pi 2とpi 3の両方にあると思います。これら2つのボードを区別できるより具体的なコマンド/ファイルを知っていますか?
anvoice

通常、ボードの種類とリビジョンもボードに印刷されているので、それを確認できるかもしれません。そうでなければ、手がかりがありません。
Videonauth 2019

そうですか。私のボードが何であるかはわかっていますが、ライブラリのメンテナーは、私のハードウェアとソフトウェアで動作するようにライブラリを調整するためにこの情報を必要としています。inxiを試してみましたが、一般的な出力のみを提供します。本当に助けに感謝します。
anvoice

1
使用したいライブラリに関しては、1つだけ質問があります。あなたが必要としない同じ機能を提供するライブラリがありますか?これは、マシンプログラムから得られる情報です。デスクトップコンピュータでは、CPUバージョンについてより多くの情報が得られる可能性があります。この点については、一部のチップにすべての情報を入れるとコストが増加するため、ラズベリーには少し欠けています。
Videonauth 2019

1
現在のinxi(3.0.xx)は、レガシーinxi(2.xx.yy)よりもARMのサポートがはるかに優れています。これは、18-4で見つけたものだと思います。これは、実際のSBCデバイス自体に関するかなりの情報を提供するのに最適なレベルです。rasberry pi 3で唯一把握できないのはmmc wifiデバイスであり、データを取得するには複雑すぎますが、それ以外の場合、pi 3のレポートは新しいinxiで完全です。レガシーinxiには、基本的なARMサポートしかありませんでした。レガシーのinxi -Fxxxまたは-v7と任意のpiデバイスの現在のinxiを比較すると、私の意味がわかります。
Lizardx

2

私はpigpioをDebian arm64に移植しようとしましたが、最終的に私の試みは失敗しました。これは、Debian arm64カーネルがpigpioが依存するユーザースペースメールボックスインターフェイスをサポートしていないことを発見したためです。 Debian arm64カーネルを実行しています。これはubuntu arm64でも機能すると思います。

あなたが発見したように、/ proc / cpuinfoにはこれらのカーネルのCPUコア情報しかありません。幸いなことに、情報は/ procの他の場所にあります

まず、デバイスがPiかどうかを確認するために、/ proc / device-tree / modelを確認しました。これにはデバイスを説明するテキスト文字列が含まれているため、誤検知が発生する可能性はほとんどありません。

/ proc / device-tree / system / linux、revisionを使用したリビジョンコードを取得するには、ビッグエンディアンのバイナリ整数としてリビジョンコードを含めます。したがって、ファイルから2進整数として読み取ってから、リトルエンディアンに変換する必要があります(これにはntohlを使用しました)。

あなたは私のコードをhttps://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26で見ることができます


本当にありがとうございました。
anvoice
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.