Jak znaleźć posiadany układ (jaką wersję Raspberry Pi) z serwerem Ubuntu 18.04 dla arm64? Jaki plik mogę sprawdzić lub jakie polecenie mogę uruchomić? / proc / cpuinfo nie ma użytecznych informacji, tylko niektóre ogólne szczegóły bez wzmianki o pi.
18.04
raspberrypi
faktura
źródło
źródło
cat /proc/cpuinfo
Powinna produkować numer wersji, która odpowiada planszy. Zobacz: raspberrypi.org/documentation/hardware/raspberrypi/…Odpowiedzi:
Przynajmniej na serwerze Ubuntu 18.04 dla arm64 i z Raspberry Pi 3 B, następujące polecenie podaje płytę, łącznie z wersją:
Mniej szczegółowe informacje, które są łatwiejsze do odczytania, dają:
To dało mi moją płytę jako „Raspberry Pi 3 B Rev 1.2”, co jest dokładnie tym, co było potrzebne w tym przypadku.
źródło
Polecenie
lscpu
jest tym, czego szukasz. Oto przykładowy wynik polecenia (pobrany na moim Raspberry Pi 3B +):co daje następujące dane wyjściowe:
Inną opcją jest
inxi
polecenie (może być konieczne jego zainstalowanie, jeśli nie jest dostępnesudo apt install inxi
). Użyj flagi-C
w następujący sposób:co daje następujące dane wyjściowe:
Jeśli chodzi o określenie, który układ ma Twoja tablica, możesz sprawdzić chip na płycie, a także stronę internetową producenta, aby uzyskać informacje, a także różne punkty sprzedaży, aby uzyskać szczegóły techniczne.
źródło
Próbowałem przenieść Pigpio na Debian Arm64, w końcu moja próba się nie powiodła, ponieważ odkryłem, że jądro Debian Arm64 nie obsługuje interfejsu skrzynki pocztowej przestrzeni użytkownika, na którym opiera się Pigpio, ale robiąc to, przeprowadziłem badania, jak wykryć Pis podczas działające jądra Debiana arm64. Podejrzewam, że to zadziała również dla Ubuntu Arm64.
Jak odkryłeś / proc / cpuinfo ma tylko informacje o rdzeniu procesora w tych jądrach. Na szczęście informacje można znaleźć gdzie indziej w / proc
Po pierwsze, aby sprawdzić, czy urządzenie to Pi, czy nie, sprawdziłem / proc / device-tree / model, ma on ciąg tekstowy opisujący urządzenie, więc fałszywe pozytywy są mało prawdopodobne.
Aby uzyskać kod wersji użyłem / proc / device-tree / system / linux, wersja, zawiera on kod wersji jako binarna liczba całkowita big-endian. Więc musi być odczytany z pliku jako binarna liczba całkowita, a następnie przekonwertowany na little-endian (użyłem do tego ntohl).
Możesz zobaczyć mój kod na https://github.com/joan2937/pigpio/pull/255/commits/2e229d667fde8a2a881d5aa8482b2bb936b09f26
źródło