Podemos hacerlo más rápido, mejor …
Cuando configuré por primera vez mi Raspberry Pi 4 para usarla como computadora de escritorio, quería un sistema operativo de 64 bits. Después de todo, usar todos los bits de la CPU debería ser más eficiente y permite un acceso más rápido a la memoria, especialmente usando el modelo de 4 u 8 GB. Pero rápidamente encontré un problema: muchos de los programas de terceros que quería usar aún no estaban disponibles para 64 bits. Vivaldi : un navegador basado en Chromium realmente bueno aún no está disponible para el sistema operativo de 64 bits. Hay varios sistemas operativos de 64 bits, incluida una versión beta de Raspbian , pero todos tienen varios problemas de compatibilidad.
Por supuesto, probablemente puedas descubrir cómo activar el multiarch y cargar todas las dependencias. Lo intenté. Pero finalmente me frustré y acabo de instalar Raspian. Funciona. Pero resulta que hay una manera de obtener algunos de los beneficios de un sistema operativo de 64 bits pero aún así mantener el “espacio de usuario” de 32 bits para que todo el software familiar siga funcionando. Simplemente funciona mejor.
El plan es actualizar la Pi y decirle que use un kernel de 64 bits. Todo el software de soporte seguirá siendo de 32 bits, pero el código que administra la memoria y la multitarea podrá utilizar el modo de 64 bits más potente.
Advertencias
Hacer cambios importantes en la configuración podría, por supuesto, bloquear su sistema. Pero la buena noticia es que las tarjetas SD son baratas. Haga una copia de seguridad en otra tarjeta SD y siempre puede volver a la que funciona si se equivoca demasiado.
Es fácil hacer una copia de seguridad con la copiadora de tarjetas SD, que ya debería estar en su Pi. Sin embargo, necesitará una grabadora de tarjetas USB para que funcione.
Hay algunas cosas que se sabe que no funcionan con la actualización de 64 bits. Si usa su Pi para Kodi, podría perder parte de la capacidad de reproducción de video. Wolfram y Mathematica no detectan el Pi con este cambio (aunque hay una solución para eso). Oracle Java aparentemente no funciona, pero OpenJDK sí. Personalmente, encontré que Konsole (el programa de shell de KDE) falla en ciertas condiciones (ssh y dmesg parecen especialmente propensos), pero otros programas de terminal funcionan.
Puede haber otras cosas que no funcionen. Repetir: vale la pena hacer una copia de seguridad. Además, si encuentra que algunas cosas no funcionan, puede volver al kernel anterior con un simple cambio en un archivo de texto.
Hagámoslo.
Actualizaciones
Retrocediste, ¿verdad? El primer paso es asegurarse de tener el firmware y los núcleos más recientes. Necesita un indicador de raíz, así que prefija el siguiente comando con sudo
o utilícelo sudo -i
para obtener un indicador de raíz (eso es lo que hago).
Emita el siguiente comando:
rpi-update
Recibirá algunas advertencias severas para que no ejecute este comando peligroso a menos que alguien le diga que lo haga. Bueno, está respaldado, así que deje de lado la precaución y responda Y a la indicación.
Una vez hecho esto, le sugiero que reinicie para ver que todo sigue funcionando. Debería. No necesita ser root, pero si ejecuta uname
debería ver algo como esto:
Linux raspberrypi 5.4.59-v7l + # 1336 SMP Mié 19 de agosto 16:09:04 BST 2020 armv7l
La clave es armv7l. Esto le dice que está en un kernel de 32 bits. Para realizar el cambio, debe editar /boot/config.txt, que requiere que sea root y use su editor de texto favorito.
Busque la sección [pi4] y agregue la siguiente línea:
arm_64bit=1
Puse la línea en la sección [pi4] del archivo de configuración. El kernel de 64 bits también funciona en la Raspberry Pi 3, pero no quería intentarlo si arrancaba la tarjeta en una Pi más antigua.
Cruza los dedos y reinicia.
Pruebas
Cuando todo vuelva a funcionar, uname
debería darle una línea como esta:
Linux raspberrypi 5.4.59-v8+ #1336 SMP PREEMPT Wed Aug 19 16:16:01 BST 2020 aarch64 GNU/Linux
¿Ves el aarch64? Eso es lo que quieres. Pruebe algunas cosas y vea cómo va.
Revirtiendo
¿No estás contento con los resultados? Establezca la línea en el archivo de configuración en cero en lugar de uno y reinicie. Si ni siquiera puede hacer que el sistema se active, siempre puede montar la tarjeta SD en otra computadora o iniciar la máquina desde su copia de seguridad y luego arreglar el archivo desde allí.
Benchmarks
¿Hará la diferencia? Eso depende de lo que estés haciendo. Trabajar con cargas de memoria más altas o USB 3 probablemente será un poco más rápido. Para algunas cosas, no hará mucha diferencia. Sobre todo porque todas las aplicaciones todavía se ejecutan en modo de 32 bits.
Como prueba rápida, intenté crear un archivo grande en la tarjeta SD:
dd if=/dev/zero of=~/test.dat bs=4096 count=512K
En promedio, la operación tomó alrededor de 104 segundos con el kernel de 32 bits. Con el kernel de 64 bits, solo tomó 76 segundos. Eso vale la pena, aunque dependiendo de la tarea, podrías ver más o menos mejoras.
Aún así, es bastante simple y hay muy poco que perder al intentar este pequeño ajuste.
Visitas: 76