Raspberry pi 3 B с сервером Ubuntu 18.04 arm64: какая версия pi

8

Как мне узнать, какой у меня чип (какая версия raspberry pi) с сервером Ubuntu 18.04 для arm64? Какой файл я могу проверить или какую команду я могу запустить? / proc / cpuinfo не имеет полезной информации, только некоторые общие детали без упоминания о пи.

anvoice
источник
cat /proc/cpuinfoДолжен производить Revision номер , который соответствует плате. См .: raspberrypi.org/documentation/hardware/raspberrypi/…
Terrance
Это не так, по крайней мере для сервера Ubuntu 18.04. Это только говорит, "пересмотр: 4".
19
Вы можете оказаться в тупике с этим, потому что RP не поддерживает SMBIOS или DMI, что позволяет считывать информацию с платы. Это также может быть что-то, что вам, возможно, придется зарегистрировать как ошибку, чтобы прочитать ревизию в cpuinfo.
Терренс
Я думаю, что вы правы, что это квалифицируется как ошибка. Однако я нашел только один обходной путь. Это коротко, но я включу это как ответ только в случае, если люди найдут это полезным.
19
Это выглядит как ваш фактический вопрос « который Raspberry Pi я бегу на?»; тогда как ваш заголовок, кажется, спрашивает "какой процессор у моего Raspberry Pi?"; отсюда путаница в ответах. Я предлагаю вам отредактировать свой вопрос, чтобы изменить заголовок.
Роджер Липскомб

Ответы:

10

По крайней мере, на сервере Ubuntu 18.04 для arm64 и с Raspberry Pi 3 B следующая команда выдает плату, включая ревизию:

lshw

Менее подробный вывод, который легче читать, дает:

lshw -short

Это дало мне мою доску как «Raspberry Pi 3 B Rev 1.2», которая именно то, что было нужно в этом случае.

anvoice
источник
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

Что касается определения, какой чип у вашей платы, вы можете проверить чип на плате, а также на сайте производителя для получения информации, а также различные торговые точки для получения технических деталей.

Videonauth
источник
Спасибо, это определенно дает дополнительную информацию. Однако название модели, когда я запускаю lscpu, указано как Cortex A-53, который, как я полагаю, обозначен как pi 2 и 3. Вы случайно не знаете более конкретную команду / файл, который может различать эти две платы?
19
Обычно на доске также напечатаны тип и ревизия платы, так что вы можете проверить это, иначе я не в курсе.
Видеонавт
Понимаю. Я знаю, что такое моя доска, но администратору библиотеки нужна эта информация, чтобы настроить свою библиотеку для работы с моим оборудованием и программным обеспечением. Пробовал inxi, он также дает только общий вывод. Очень ценю помощь, хотя.
19
1
Что касается библиотеки, которую вы хотите использовать, есть только один вопрос. Есть ли библиотека, которая обеспечивает ту же функцию, что вам нужно или нет. Это информация, которую вы можете получить из вашей программы станка. На настольных компьютерах может быть больше информации о версии ЦП, поэтому Raspberry не хватает, так как размещение всей этой информации в некоторых чипах увеличивает затраты.
Видеонавт
1
Текущий inxi (3.0.xx) имеет лучшую поддержку ARM, чем унаследованный inxi (2.xx.yy), который, я думаю, вы найдете в 18-4. Это сделает все возможное, чтобы дать немало информации о самом устройстве SBC. На rasberry pi 3 единственное, что он не ловит, это Wi-Fi-устройство mmc, которое слишком сложно для сбора данных, но в остальном отчет для pi 3 довольно полон в новом inxi. Legacy Inxi имела только элементарную поддержку ARM. Сравните inxi -Fxxx или -v7 на устаревшем и текущем на любом устройстве pi, и вы поймете, что я имею в виду.
Lizardx
2

Я попытался портировать pigpio на Debian arm64, в конце концов моя попытка не удалась, потому что я обнаружил, что ядро ​​Debian arm64 не поддерживает интерфейс почтового ящика пользователя, на который полагается pigpio, но при этом я провел некоторое исследование о том, как обнаружить Pis, пока запуск ядра Debian arm64. Я подозреваю, что это также будет работать для Ubuntu Arm64.

Как вы обнаружили, / proc / cpuinfo содержит только информацию о ядре процессора в этих ядрах. К счастью, информацию можно найти в другом месте в / proc

Во-первых, чтобы проверить, является ли устройство Pi или нет, я проверил / proc / device-tree / model, там есть текстовая строка, описывающая устройство, поэтому ложные срабатывания маловероятны.

Чтобы получить код ревизии, я использовал / proc / device-tree / system / linux, revision, он содержит код ревизии в виде двоичного целого с прямым порядком байтов. Поэтому его нужно прочитать из файла как двоичное целое число, а затем преобразовать в little-endian (для этого я использовал ntohl).

Вы можете увидеть мой код на https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26

Питер Грин
источник
Спасибо, это действительно то, что я искал.
19