Abilitazione di ARMv8 su Raspberry Pi 3 B


14

Secondo questo articolo dovrei essere in grado di passare ad ARMv8 sul mio Raspberry Pi Model 3B, ma dopo aver aggiunto alla linea sto ottenendo "schermo arcobaleno"config.txt :

arm_control=0x200
  • Perché non funziona?
  • Vale anche la pena passare da ARMv7 a ARMv8 (tenendo conto che sono disposto a compilare alcuni programmi C ++ in futuro).

Sto usando Raspbian 9.1 "stretch" e /prc/cpuinforiporta "ARMv7 Processor rev 4 (v7l)".


Di valore? Dipende! Se vuoi far girare il tuo kernel, allora sì. Vuoi?
Fabian,

@Fabian, se è necessario / vale la pena di - sì. Ma Raspbian 9.1 "ARMv8 -ready" non è?
Madneon

Risposte:


8

Penso che altri qui abbiano fatto un buon lavoro rispondendo:

Vale anche la pena passare da ARMv7 a ARMv8

Vari software citati per richiedere ARMv8 includono CockroachDB, MongoDB (se si accede a> 2 GB), l'emulatore Dolphin e OpenMW. Tuttavia, allo stesso modo perderai altre funzionalità o programmi che potrebbero essere meno supportati con un kernel a 64 bit (ad esempio giochi con brcmEGL + dispmanx).

arm_control=0x200

Perché non funziona?

Sembra che tu abbia saltato il passaggio chiave della copia effettiva nel kernel a 64 bit e nei suoi moduli. L'articolo di eLinux potrebbe anche non essere aggiornato poiché il bootloader predefinito di Raspbian Stretch avvierà automaticamente kernel8.img se presente .

Se non stai costruendo un kernel a 64 bit dal sorgente , puoi scaricare una versione funzionante dall'autore originale di questo articolo, qui su GitHub (solo Pi 3B). La sua immagine è basata su Debian arm64, e se intendete usare questo kernel con Raspbian assicuratevi di copiare dentro /boot/{kernel8.img,*.dtb,overlays,config.txt,cmdline.txt}e /lib/modules/dall'immagine Pi64. È inoltre possibile scaricare e installare tali immagini Raspbian preconfigurate:

Torna a parte dell'altra tua domanda:

(tenendo conto che sono disposto a compilare alcuni programmi C ++ in futuro).

Se hai intenzione di utilizzare Pi 3 per sviluppare e testare entrambe le applicazioni armhf e arm64, potresti anche eseguire Pi64 direttamente. A differenza di Raspbian, ha il supporto per MultiArch e quindi non richiede l'esecuzione di contenitori a 64 bit. Al di fuori dell'ecosistema Raspbian / Debian, altre distro a 64 bit includono Ubuntu Server, Gentoo, openSUSE e Fedora (vedi i commenti degli altri).


OpenGL non fornisce accelerazione hardware per sistemi a 64 bit? O è solo nel Pi?
JAB

@JAB il mio commento è stato specifico per lo stato del kernel Pi a 64 bit, sebbene il problema non sia abbastanza chiaro in questo momento. Anche sul mio sistema posso modprobe vc4ottenere 60+ fps glxgears, mentre Minecraft Java Edition sta eseguendo la scansione. Inoltre, gentoo-on-rpi3-64bit rivendica la compatibilità VC4 nella riga dell'oggetto. Ho modificato il mio post per rimuovere la menzione di OpenGL fino a quando non avrò qualcosa di più reale.
jdonald

8

Vale anche la pena passare da ARMv7 a ARMv8?

A meno che non si stia eseguendo un kernel e un'area utente del SO compilata per ARMv8; ci sono almeno alcune cose del genere per il Pi 3 in giro, tra cui Fedora . Per alcuni suggerimenti sul perché non esiste ancora una versione speciale di Raspbian, vedere qui:

Raspbian passa alla modalità a 64 bit

Altrimenti, penso che l'unica rilevanza sia in ciò che il processore riporta se stesso, che può essere trovato tramite /proc/cpuinfo. Alcune persone usano questo come mezzo per distinguere un modello di pi da un altro, sebbene la pratica non sia ovviamente diffusa. Detto in altro modo, a meno che non si conosca un motivo per farlo, non ce n'è uno.


Quindi non c'è altro guadagno se non che v8 è a 64 bit (e può supportare il sistema operativo 64b)?
Madneon

Ancora una volta, qualunque beneficio ci sia dall'esecuzione di un sistema a 64 bit richiederebbe il software compilato per sfruttarlo, a partire dal kernel (poiché altrimenti tutto il resto non funzionerà). Per quanto ne so, abilitare questo non farà alcuna differenza (e dal suono delle cose può creare un problema).
riccioli d'oro

Fedora è quasi oscuro e ha offerto aarch64 su RPi3 quasi dal giorno in cui RPi3 è arrivato sul mercato. Scarica qui @madneon
Michael Hampton,

@MichaelHampton Grazie per l'aggiornamento - Fedora è in realtà la mia distribuzione preferita, io uso l'arm7 di serie su 2 e 3. È un po 'strano che mi sia mancato (il wiki dice che il supporto pi in generale è in circolazione dal v. 25, che sarebbe più vicino ad un anno dopo il rilascio del 3). Ad ogni modo, modificato.
riccioli d'oro

Ah sì, giusto, c'erano 23 e 24 build aarch64 ma non erano ufficiali.
Michael Hampton,

2

Ad oggi, sembra che Fedora e Archlinux siano ben supportati.

Se vai in Arch, questo ti aiuterà a costruire l'immagine (per me su linux / rpi3 lo era make linux) e questo ti aiuterà ad avviare il wifi.

Se hai bisogno di essere sicuro di quale lampone hai, usa questa guida .

Inoltre arm_control=0x200è deprecato e arm_64bitdovrebbe essere utilizzato invece in /boot/config.txt.


1

Vale anche la pena passare da ARMv7 a ARMv8

Ho appena esaminato questo. Ho analizzato alcuni programmi e uno ha visto un sostanziale aumento delle prestazioni. Lo scavatore più in profondità risulta essere perché ARMv8 aggiunge una nuova istruzione per la divisione di interi che è sostanzialmente più veloce della tradizionale routine di assemblaggio.

Quindi c'è almeno un motivo per passare a v8!

Altrimenti, devo confessare, ARMv8 sembra quasi identico a ARMv7.

EDIT : dico una bugia. Risulta che sto parlando di AArch32 quando la modalità a 64 bit ha AArch64 che è un'istruzione sostanzialmente diversa impostata secondo questa grande presentazione .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.