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.