Włączanie ARMv8 na Raspberry Pi 3 B

14

Zgodnie z tym artykułem powinienem być w stanie przełączyć się na ARMv8 na moim Raspberry Pi Model 3B, ale po dodaniu do linii pojawia się „ekran tęczy”config.txt :

arm_control=0x200
  • Dlaczego to nie działa?
  • Czy warto w ogóle przestawić się z ARMv7 na ARMv8 (biorąc pod uwagę, że jestem gotów skompilować niektóre programy C ++ w przyszłości).

Używam Raspbian 9.1 „stretch” i /prc/cpuinfozgłasza „ARMv7 Processor rev 4 (v7l)”.

madneon
źródło
Wartość? Zależy! Jeśli chcesz uruchomić własne jądro, to tak. Czy chcesz?
Fabian
@Fabian, jeśli jest to potrzebne / warte niż - tak. Ale czy Raspbian 9.1 nie jest już „ARMv8”?
madneon
2
Możliwy duplikat Raspberry Pi 3 i jądra 64-bitowego, różnice między armv7 i armv8
Ciro Santilli 28 病毒 审查 六四 事件 法轮功

Odpowiedzi:

8

Myślę, że inni tutaj wykonali dobrą robotę, odpowiadając:

Czy warto w ogóle przełączać się z ARMv7 na ARMv8?

Różne programy, które wymagają ARMv8, to CockroachDB, MongoDB (w przypadku dostępu> 2 GB), emulator Dolphin i OpenMW. Jednak również stracisz dostęp do innych funkcji lub programów, które mogą być mniej obsługiwane przez 64-bitowe jądro (np. Granie z brcmEGL + dispmanx).

arm_control=0x200

Dlaczego to nie działa?

Wygląda na to, że pominąłeś kluczowy etap kopiowania w 64-bitowym jądrze i jego modułach. Ten artykuł eLinux może być również nieaktualny, ponieważ domyślny program ładujący Raspbian Stretch automatycznie uruchomi kernel8.img, jeśli jest obecny .

Jeśli nie budujesz 64-bitowego jądra ze źródła , możesz pobrać działającą wersję oryginalnego autora tego artykułu, tutaj na GitHub (tylko Pi 3B). Jego obraz oparty jest na systemie Debian arm64, a jeśli zamierzasz używać tego jądra z Raspbian, skopiuj do /boot/{kernel8.img,*.dtb,overlays,config.txt,cmdline.txt}i /lib/modules/z obrazu Pi64. Możesz również pobrać i zainstalować takie wstępnie skonfigurowane obrazy Raspbian:

Powrót do części drugiego pytania:

(biorąc pod uwagę, że jestem gotów skompilować niektóre programy C ++ w przyszłości).

Jeśli zamierzasz używać Pi 3 do programowania i testowania aplikacji armhf i arm64, równie dobrze możesz uruchomić Pi64 bezpośrednio. W przeciwieństwie do Raspbian, obsługuje MultiArch i dlatego nie wymaga uruchamiania 64-bitowych kontenerów. Poza ekosystemem Raspbian / Debian do innych 64-bitowych dystrybucji należą Ubuntu Server, Gentoo, openSUSE i Fedora (zobacz komentarze innych).

Jdonald
źródło
OpenGL nie zapewnia akceleracji sprzętowej dla systemów 64-bitowych? Czy to tylko w Pi?
JAB
@JAB mój komentarz dotyczył statusu jądra Pi w wersji 64-bitowej, chociaż problem jest w tej chwili niejasny . Nawet w moim systemie mogę uzyskać modprobe vc4i uzyskać ponad 60 klatek na sekundę glxgears, podczas gdy Minecraft Java Edition się czołga. Ponadto gentoo-on-rpi3-64bit twierdzi, że w swoim temacie jest zgodny z VC4. Edytowałem swój post, aby usunąć wzmiankę o OpenGL, dopóki nie będę miał czegoś bardziej faktycznego.
jdonald
8

Czy w ogóle warto przejść z ARMv7 na ARMv8?

Nie, chyba że używasz jądra i przestrzeni użytkownika systemu operacyjnego skompilowanej dla ARMv8; wokół Pi 3 jest co najmniej kilka takich rzeczy, w tym Fedora . Kilka wskazówek na temat tego, dlaczego wciąż nie ma specjalnej wersji Raspbian, znajdziesz tutaj:

Raspbian przechodzi do trybu 64-bitowego

W przeciwnym razie myślę, że jedyne znaczenie ma to, co procesor sam się zgłasza, co można znaleźć poprzez /proc/cpuinfo. Niektóre osoby używają tego jako sposobu odróżnienia jednego modelu pi od drugiego, chociaż praktyka ta oczywiście nie jest rozpowszechniona. Mówiąc inaczej, chyba że znasz powód, by tego nie robić.

Złotowłosa
źródło
Więc nie ma innych korzyści, że v8 jest 64-bitowy (i może obsługiwać system operacyjny 64b)?
madneon
Ponownie, wszelkie korzyści płynące z uruchomienia 64-bitowego systemu wymagałyby oprogramowania skompilowanego do jego wykorzystania, zaczynając od jądra (ponieważ w przeciwnym razie nic innego nie działałoby). O ile mi wiadomo, włączenie tego nie robi żadnej różnicy (a od dźwięku rzeczy może stworzyć problem).
Złotowłosa
Fedora nie jest mało znana i oferuje aarch64 na RPi3 prawie od dnia, gdy RPi3 trafiło na rynek. Pobierz tutaj. @madneon
Michael Hampton
@MichaelHampton Dzięki za aktualizację - Fedora jest w rzeczywistości mój ulubiony distro, używam ARM7 akcji w dniu 2 & 3-tych ubiegłego. To trochę dziwne, że tęskniłem za tym (wiki mówi, że ogólnie rzecz biorąc obsługa pi jest dostępna od wersji 25, co byłoby bliżej rok po wydaniu wersji 3). W każdym razie edytowane.
Złotowłosa
Ach tak, prawda, było 23 i 24 kompilacje aarch64, ale były one nieoficjalne.
Michael Hampton
2

Na dzień dzisiejszy wydaje się, że Fedora i Archlinux są dobrze obsługiwane.

Jeśli przejdziesz drogę łuk, to pomoże zbudować obraz (dla mnie na Linux / rpi3 to było make linux), a to pomoże Ci zacząć wifi.

Jeśli chcesz się upewnić, którą masz malinę, skorzystaj z tego przewodnika .

arm_control=0x200Jest również przestarzałe i arm_64bitpowinno się go używać w /boot/config.txt.

Pierre-Alexis Ciavaldini
źródło
1

Czy warto w ogóle przełączać się z ARMv7 na ARMv8?

Właśnie się tym zajmowałem. Przeprowadziłem testy porównawcze niektórych programów i jeden odnotował znaczny wzrost wydajności. Okazuje się, że koparka jest głębsza, ponieważ ARMv8 dodaje nową instrukcję podziału liczb całkowitych, która jest znacznie szybsza niż tradycyjna procedura montażu.

Jest więc co najmniej jeden powód do aktualizacji do wersji 8!

W przeciwnym razie muszę przyznać, że ARMv8 wygląda prawie identycznie jak ARMv7.

EDYCJA : Kłamię. Okazuje się, że mówię o AArch32, gdy tryb 64-bitowy ma AArch64, który jest zasadniczo innym zestawem instrukcji według tej wspaniałej prezentacji .

Jon Harrop
źródło