Aktivieren von ARMv8 auf Raspberry Pi 3 B

13

Nach diesem Artikel sollte ich auf meinem Raspberry Pi Model 3B auf ARMv8 umsteigen können, aber ich erhalte "Regenbogen-Bildschirm", nachdem ich config.txtder Zeile Folgendes hinzugefügt habe :

arm_control=0x200
  • Warum funktioniert es nicht?
  • Lohnt es sich überhaupt, von ARMv7 auf ARMv8 umzusteigen?

Ich verwende Raspbian 9.1 "stretch" und /prc/cpuinfoberichte "ARMv7 Processor rev 4 (v7l)".

Madneon
quelle
Wert? Hängt davon ab! Wenn Sie Ihren eigenen Kernel rollen wollen, dann ja. Möchten Sie?
Fabian
@ Fabian, wenn es nötig / wert ist - ja. Aber ist das Raspbian 9.1 "ARMv8-ready" nicht?
Madneon
2
Mögliche Duplikat von Raspberry Pi 3 und 64-Bit - Kernel, Unterschiede zwischen ARMv7 und ARMv8
Ciro Santilli新疆改造中心法轮功六四事件

Antworten:

8

Ich denke, andere hier haben gute Arbeit geleistet und geantwortet:

Lohnt es sich überhaupt, von ARMv7 auf ARMv8 umzusteigen?

Verschiedene Software, für die ARMv8 erforderlich ist, umfassen CockroachDB, MongoDB (bei Zugriff auf> 2 GB), den Dolphin-Emulator und OpenMW. Ebenso verlieren Sie jedoch andere Funktionen oder Programme, die von einem 64-Bit-Kernel möglicherweise weniger unterstützt werden (z. B. Spiele mit brcmEGL + dispmanx).

arm_control=0x200

Warum funktioniert es nicht?

Anscheinend haben Sie den Schlüsselschritt des tatsächlichen Kopierens des 64-Bit-Kernels und seiner Module übersprungen. Dieser eLinux-Artikel ist möglicherweise auch veraltet, da der standardmäßige Raspbian Stretch-Bootloader kernel8.img automatisch bootet, falls vorhanden .

Wenn Sie keinen 64-Bit-Kernel aus dem Quellcode erstellen, können Sie hier auf GitHub (nur Pi 3B) eine funktionierende Version des ursprünglichen Autors dieses Artikels herunterladen . Sein Bild basiert auf Debian arm64, und wenn Sie beabsichtigen , diesen Kernel mit Raspbian machen , um zu verwenden , sicher in zu kopieren /boot/{kernel8.img,*.dtb,overlays,config.txt,cmdline.txt}und /lib/modules/aus dem Pi64 Bild. Sie können auch solche vorkonfigurierten Raspbian-Images herunterladen und installieren:

Zurück zu einem Teil Ihrer anderen Frage:

(unter Berücksichtigung, dass ich bereit bin, in Zukunft einige C ++ - Programme zu kompilieren).

Wenn Sie beabsichtigen, mit Ihrem Pi 3 sowohl armhf- als auch arm64-Anwendungen zu entwickeln und zu testen, können Sie Pi64 auch direkt ausführen. Im Gegensatz zu Raspbian unterstützt es MultiArch und erfordert daher keine Ausführung von 64-Bit-Containern. Außerhalb des Raspbian / Debian-Ökosystems umfassen andere 64-Bit-Distributionen Ubuntu Server, Gentoo, openSUSE und Fedora (siehe Kommentare anderer).

jdonald
quelle
OpenGL bietet keine Hardwarebeschleunigung für 64-Bit-Systeme? Oder ist das nur im Pi?
JAB
@JAB mein Kommentar war spezifisch für Pi 64-Bit-Kernel-Status, obwohl das Problem derzeit ziemlich unklar ist . Sogar auf meinem System kann modprobe vc4und bekomme ich 60+ fps glxgears, während Minecraft Java Edition crawlt. Außerdem behauptet gentoo-on-rpi3-64bit die VC4-Kompatibilität in seiner Betreffzeile. Ich habe meinen Beitrag bearbeitet, um die Erwähnung von OpenGL zu entfernen, bis ich etwas Faktischeres habe.
Donald
7

Lohnt es sich überhaupt, von ARMv7 auf ARMv8 umzusteigen?

Nur wenn Sie ein für ARMv8 kompiliertes Kernel- und Betriebssystembenutzerland ausführen. Für den Pi 3 gibt es zumindest einige solcher Dinge, einschließlich Fedora . Einige Hinweise, warum es immer noch keine spezielle Version von Raspbian gibt, finden Sie hier:

Raspbian wechselt in den 64-Bit-Modus

Ansonsten denke ich, die einzige Relevanz ist, was der Prozessor selbst als meldet, was über zu finden ist /proc/cpuinfo. Einige Leute benutzen dies, um ein Modell von Pi von einem anderen zu unterscheiden, obwohl die Praxis offensichtlich nicht weit verbreitet ist. Anders ausgedrückt, es gibt keinen Grund, es sei denn, Sie kennen einen Grund dafür.

Goldlöckchen
quelle
Also gibt es keine andere Verstärkung als 64-Bit-Version (und kann 64b-Betriebssysteme unterstützen)?
Madneon
Auch hier ist für den Betrieb eines 64-Bit-Systems eine Software erforderlich, die kompiliert wird, um es auszunutzen, beginnend mit dem Kernel (da sonst alles andere nicht funktioniert). Soweit mir bekannt ist, macht das Aktivieren keinen Unterschied (und der Klang der Dinge kann zu Problemen führen).
Goldlöckchen
Fedora ist kaum unbekannt und hat aarch64 auf dem RPi3 fast von dem Tag an angeboten, an dem das RPi3 auf den Markt kam. Hier herunterladen. @madneon
Michael Hampton
@MichaelHampton Danke für das Update - Fedora ist in der Tat meine bevorzugte Distribution, ich benutze den Stock Arm7 für 2er und 3er. Es ist ein bisschen seltsam, dass ich das verpasst habe (das Wiki sagt, dass es pi-Unterstützung im Allgemeinen seit Version 25 gibt, was näher an einem Jahr nach Veröffentlichung der 3 liegen würde). Wie auch immer, bearbeitet.
Goldlöckchen
Ah ja, richtig, es gab 23 und 24 aarch64-Builds, aber sie waren inoffiziell.
Michael Hampton
2

Ab heute scheinen Fedora und Archlinux gut unterstützt zu sein.

Wenn Sie den Arch-Weg gehen, wird dies Ihnen helfen, das Image zu erstellen (für mich unter Linux / RPI3 war es das make linux), und dies wird Ihnen helfen, WiFi zu starten.

Wenn Sie sicher sein müssen, welche Himbeere Sie haben, verwenden Sie diese Anleitung .

Auch arm_control=0x200ist veraltet und arm_64bitsollte stattdessen in verwendet werden /boot/config.txt.

Pierre-Alexis Ciavaldini
quelle
1

Lohnt es sich überhaupt, von ARMv7 auf ARMv8 umzusteigen?

Ich habe mich gerade darum gekümmert. Ich habe einige Programme verglichen und eine deutliche Leistungssteigerung festgestellt. Es stellt sich heraus, dass ARMv8 eine neue Anweisung für die Ganzzahldivision hinzufügt, die wesentlich schneller ist als die herkömmliche Assembler-Routine.

Es gibt also mindestens einen Grund für ein Upgrade auf v8!

Ansonsten muss ich gestehen, dass ARMv8 fast identisch mit ARMv7 aussieht.

EDIT : Ich erzähle eine Lüge. Es stellt sich heraus, dass ich über AArch32 spreche, wenn der 64-Bit-Modus AArch64 enthält, was ein wesentlich anderer Befehlssatz gemäß dieser großartigen Präsentation ist .

Jon Harrop
quelle