Habilitar ARMv8 en Raspberry Pi 3 B

14

De acuerdo con este artículo , debería poder cambiar a ARMv8 en mi Raspberry Pi Model 3B, pero obtengo una "pantalla de arco iris" después de agregar a config.txtla línea:

arm_control=0x200
  • ¿Por qué no funciona?
  • ¿Vale la pena cambiar de ARMv7 a ARMv8 (teniendo en cuenta que estoy dispuesto a compilar algunos programas de C ++ en el futuro).

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

madneon
fuente
¿Valor? Depende! Si quieres rodar tu propio núcleo, entonces sí. ¿Quieres?
Fabián
@Fabian, si es necesario / vale la pena, sí. ¿Pero no es el Raspbian 9.1 "ARMv8-ready"?
madneon
2
Posible duplicado de Raspberry Pi 3 y kernel de 64 bits, diferencias entre armv7 y armv8
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:

8

Creo que otros aquí han hecho un buen trabajo respondiendo:

¿Vale la pena cambiar de ARMv7 a ARMv8?

Varios software citados para requerir ARMv8 incluyen CockroachDB, MongoDB (si accede a> 2 GB), el emulador Dolphin y OpenMW. Sin embargo, también perderá otras funciones o programas que pueden ser menos compatibles con un kernel de 64 bits (por ejemplo, juegos con brcmEGL + dispmanx).

arm_control=0x200

¿Por qué no funciona?

Parece que ha omitido el paso clave de copiar realmente en el núcleo de 64 bits y sus módulos. Ese artículo de eLinux también puede estar desactualizado ya que el gestor de arranque predeterminado de Raspbian Stretch arrancará automáticamente kernel8.img si está presente .

Si no está compilando un núcleo de 64 bits desde la fuente , puede descargar una versión funcional del autor original de este artículo, aquí en GitHub (solo Pi 3B). Su imagen se basa en Debian arm64, y si tiene la intención de utilizar este núcleo con Raspbian, asegúrese de copiar en /boot/{kernel8.img,*.dtb,overlays,config.txt,cmdline.txt}y /lib/modules/desde la imagen Pi64. También puede descargar e instalar tales imágenes Raspbian preconfiguradas:

Volver a parte de su otra pregunta:

(teniendo en cuenta que estoy dispuesto a compilar algunos programas de C ++ en el futuro).

Si tiene la intención de usar su Pi 3 para desarrollar y probar las aplicaciones armhf y arm64, también podría ejecutar Pi64 directamente. A diferencia de Raspbian, tiene soporte para MultiArch y, por lo tanto, no requiere la ejecución de contenedores de 64 bits. Fuera del ecosistema Raspbian / Debian, otras distribuciones de 64 bits incluyen Ubuntu Server, Gentoo, openSUSE y Fedora (ver los comentarios de otros).

jdonald
fuente
¿OpenGL no proporciona aceleración de hardware para sistemas de 64 bits? ¿O es solo en el Pi?
JAB
@JAB mi comentario fue específico para el estado del núcleo Pi de 64 bits, aunque el problema no está claro en este momento. Incluso en mi sistema puedo modprobe vc4obtener y obtener más de 60 fps glxgears, mientras que Minecraft Java Edition está arrastrándose. Además, gentoo-on-rpi3-64bit reclama compatibilidad VC4 en su línea de asunto. He editado mi publicación para eliminar la mención de OpenGL hasta que tenga algo más real.
jdonald
8

¿Vale la pena cambiar de ARMv7 a ARMv8?

No, a menos que esté ejecutando un kernel y un sistema operativo de usuario compilado para ARMv8; Hay al menos algunas de estas cosas para el Pi 3, incluido Fedora . Para obtener algunas pistas sobre por qué todavía no hay una versión especial de Raspbian, consulte aquí:

Raspbian se mueve al modo de 64 bits

De lo contrario, creo que la única relevancia está en cómo se informa el procesador, que se puede encontrar a través de /proc/cpuinfo. Algunas personas usan esto como un medio para distinguir un modelo de pi de otro, aunque la práctica obviamente no está muy extendida. Dicho de otra manera, a menos que sepa una razón para hacerlo, no hay una.

Ricitos de oro
fuente
Entonces, ¿no hay otra ganancia que no sea que v8 es de 64 bits (y puede admitir 64b OS)?
madneon
Nuevamente, cualquier beneficio que exista al ejecutar un sistema de 64 bits requeriría un software compilado para explotarlo, comenzando con el núcleo (ya que de lo contrario, cualquier otra cosa no funcionará). Entonces, hasta donde yo sé, habilitar esto no hará ninguna diferencia (y el sonido de las cosas puede crear un problema).
Ricitos de oro
Fedora no es oscura y ha ofrecido aarch64 en el RPi3 casi desde el día en que el RPi3 salió al mercado. Descarga aquí. @madneon
Michael Hampton
@MichaelHampton Gracias por la actualización: Fedora es de hecho mi distribución preferida, uso el stock arm7 en 2 y 3. Sin embargo, es un poco extraño que me perdí eso (la wiki dice que el soporte de pi en general ha existido desde el v. 25, que estaría más cerca de un año después del lanzamiento del 3). De todos modos, editado.
Ricitos de oro
Ah sí, claro, había 23 y 24 construcciones de aarch64 pero no eran oficiales.
Michael Hampton
2

A partir de hoy, parece que Fedora y Archlinux están bien soportados.

Si sigue el camino de Arch, esto lo ayudará a construir la imagen (para mí en linux / rpi3 era make linux) y esto lo ayudará a iniciar wifi.

En caso de que necesite asegurarse de qué frambuesa tiene, use esta guía .

También arm_control=0x200está en desuso y arm_64bitdebe usarse en su lugar /boot/config.txt.

Pierre-Alexis Ciavaldini
fuente
1

¿Vale la pena cambiar de ARMv7 a ARMv8?

Acabo de estar investigando esto. Comparé algunos programas y uno vio un aumento sustancial en el rendimiento. Más profundo resulta ser porque ARMv8 agrega una nueva instrucción para la división de enteros que es sustancialmente más rápida que la rutina de ensamblaje tradicional.

¡Entonces hay al menos una razón para actualizar a v8!

De lo contrario, debo confesar que ARMv8 se ve casi idéntico a ARMv7.

EDITAR : digo una mentira. Resulta que estoy hablando de AArch32 cuando el modo de 64 bits tiene AArch64, que es un conjunto de instrucciones sustancialmente diferente de acuerdo con esta gran presentación .

Jon Harrop
fuente