Activation d'ARMv8 sur Raspberry Pi 3 B

14

Selon cet article, je devrais pouvoir passer à ARMv8 sur mon Raspberry Pi Model 3B, mais je reçois un "écran arc-en-ciel" après avoir ajouté à config.txtla ligne:

arm_control=0x200
  • Pourquoi ça ne marche pas?
  • Cela vaut-il même la peine de passer d'ARMv7 à ARMv8 (compte tenu du fait que je suis prêt à compiler certains programmes C ++ à l'avenir).

J'utilise Raspbian 9.1 "stretch" et /prc/cpuinforapporte "ARMv7 Processor rev 4 (v7l)".

madneon
la source
Vaut? Dépend! Si vous voulez rouler votre propre noyau, alors oui. Veux-tu?
Fabian
@Fabian, si c'est nécessaire / vaut mieux que - oui. Mais le Raspbian 9.1 n'est-il pas "ARMv8-ready"?
madneon
2
Duplicata possible du Raspberry Pi 3 et du noyau 64 bits, différences entre armv7 et armv8
Ciro Santilli 事件 改造 中心 法轮功 六四 事件

Réponses:

8

Je pense que d'autres ici ont fait du bon travail en répondant:

Vaut-il même la peine de passer d'ARMv7 à ARMv8?

Divers logiciels cités comme nécessitant ARMv8 incluent CockroachDB, MongoDB (si accès> 2 Go), l'émulateur Dolphin et OpenMW. Cependant, vous perdrez également d'autres fonctionnalités ou programmes qui peuvent être moins pris en charge avec un noyau 64 bits (par exemple, jouer avec brcmEGL + dispmanx).

arm_control=0x200

Pourquoi ça ne marche pas?

Il semble que vous ayez sauté l'étape clé de la copie dans le noyau 64 bits et ses modules. Cet article eLinux peut également être obsolète car le chargeur de démarrage par défaut de Raspbian Stretch démarrera automatiquement kernel8.img s'il est présent .

Si vous ne construisez pas un noyau 64 bits à partir des sources , vous pouvez télécharger une version de travail de l'auteur original de cet article, ici sur GitHub (Pi 3B uniquement). Son image est basée sur Debian arm64, et si vous avez l'intention d'utiliser ce noyau avec Raspbian, assurez-vous de copier dans /boot/{kernel8.img,*.dtb,overlays,config.txt,cmdline.txt}et /lib/modules/depuis l'image Pi64. Vous pouvez également télécharger et installer ces images Raspbian préconfigurées:

Retour à une partie de votre autre question:

(en tenant compte, je suis prêt à compiler certains programmes C ++ à l'avenir).

Si vous avez l'intention d'utiliser votre Pi 3 pour développer et tester des applications armhf et arm64, vous pouvez tout aussi bien exécuter Pi64 directement. Contrairement à Raspbian, il prend en charge MultiArch et ne nécessite donc pas d'exécuter des conteneurs 64 bits. En dehors de l'écosystème Raspbian / Debian, d'autres distributions 64 bits incluent Ubuntu Server, Gentoo, openSUSE et Fedora (voir les commentaires des autres).

jdonald
la source
OpenGL ne fournit pas d'accélération matérielle pour les systèmes 64 bits? Ou est-ce seulement dans le Pi?
JAB
@JAB mon commentaire était spécifique au statut du noyau Pi 64 bits, bien que le problème ne soit pas clair pour le moment. Même sur mon système, je peux modprobe vc4et obtenir plus de 60 fps glxgears, tandis que Minecraft Java Edition rampe. Gentoo-on-rpi3-64bit revendique également la compatibilité VC4 dans sa ligne d'objet. J'ai modifié mon article pour supprimer la mention d'OpenGL jusqu'à ce que j'aie quelque chose de plus factuel.
jdonald
8

Vaut-il même la peine de passer d'ARMv7 à ARMv8?

Sauf si vous exécutez un noyau et un système d'exploitation OS compilés pour ARMv8; il y a au moins quelques-unes de ces choses pour le Pi 3, y compris Fedora . Pour savoir pourquoi il n'existe toujours pas de version spéciale de Raspbian, voir ici:

Raspbian passe en mode 64 bits

Sinon, je pense que la seule pertinence est dans ce que le processeur se signale, qui peut être trouvé via /proc/cpuinfo. Certaines personnes l'utilisent comme un moyen de distinguer un modèle de pi d'un autre, bien que la pratique ne soit évidemment pas répandue. Autrement dit, à moins que vous ne connaissiez une raison de le faire, il n'y en a pas.

Boucles d'or
la source
Il n'y a donc pas d'autre gain que le v8 64 bits (et peut prendre en charge le système d'exploitation 64b)?
madneon
Encore une fois, quel que soit l'avantage de l'exécution d'un système 64 bits, il faudrait un logiciel compilé pour l'exploiter, à commencer par le noyau (car sinon tout le reste ne fonctionnera pas). Donc, pour autant que je sache, l'activation de cela ne fera aucune différence (et du bruit des choses peut créer un problème).
goldilocks
Fedora n'est guère obscur et a offert aarch64 sur le RPi3 presque depuis le jour où le RPi3 a frappé le marché. Télécharger ici. @madneon
Michael Hampton
@MichaelHampton Merci pour la mise à jour - Fedora est en fait ma distribution préférée, j'utilise le stock arm7 sur les 2 & 3. C'est un peu étrange que j'ai manqué cela cependant (le wiki dit que le support pi en général existe depuis la version 25, ce qui serait plus proche d'un an après la sortie du 3). Quoi qu'il en soit, édité.
goldilocks
Ah oui, c'est vrai, il y avait 23 et 24 versions aarch64 mais elles n'étaient pas officielles.
Michael Hampton
2

À ce jour, il semble que Fedora et Archlinux soient bien pris en charge.

Si vous suivez la voie Arch, cela vous aidera à construire l'image (pour moi sur linux / rpi3, c'était le cas make linux) et cela vous aidera à démarrer le wifi.

Dans le cas où vous devez être sûr de la framboise que vous avez, utilisez ce guide .

Aussi arm_control=0x200est obsolète et arm_64bitdoit être utilisé à la place dans /boot/config.txt.

Pierre-Alexis Ciavaldini
la source
1

Vaut-il même la peine de passer d'ARMv7 à ARMv8?

Je viens de me pencher là-dessus. J'ai comparé certains programmes et l'un a vu une augmentation substantielle de ses performances. Plus profond, il s'avère que ARMv8 ajoute une nouvelle instruction pour la division entière qui est sensiblement plus rapide que la routine d'assemblage traditionnelle.

Il y a donc au moins une raison de passer à la v8!

Sinon, je dois avouer, ARMv8 semble presque identique à ARMv7.

EDIT : Je dis un mensonge. Il s'avère que je parle de AArch32 lorsque le mode 64 bits a AArch64 qui est un ensemble d'instructions sensiblement différent selon cette excellente présentation .

Jon Harrop
la source