- Se incorporó
- 2 Octubre 2005
- Mensajes
- 13.601
Si no ha leído las partes previas, pase a leer parte 1 y parte 2.
Originalmente esta iba a ser una guía de sólo dos partes, pero después de darme una palmaditas en la espalda luego de haber publicado la segunda parte, decidí relajar la mente, y nada mejor que perder el tiempo que YouTube. Grave error. El primer video que me salió en la lista de recomendados fue el siguiente, pero en versión thumbnail:
Luego de exclamar fuertemente "Me tai webeando?!?!?!?" ya que se demoraron casi 1 año en sacar este update justo justo un par de días después de aburrirme de esperar y aplicar el método viejo no más, me puse a ver el video (click en la foto) y la verdad es que las instrucciones eran bastante simples, así que decidí tirarme al agua no más. Eso sí, esta funcionalidad aún está en beta, así que implementen esto a riesgo propio.
Capítulo 8: Actualizando la EEPROM
La Raspberry Pi 4 cambió bastante la forma en que funciona el bootloader y otras warifaifas: mientras que las ediciones previas a la 4 tenían una ROM (memoria de sólo lectura no programable) y ocupaban un simple archivo llamado
bootcode.bin
en /boot
para cargar el bootloader, la complejidad en la arquitectura de la Raspberry Pi 4 hizo que esta ya no fuera una solución viable, era necesario introducir tal como en un PC de escritorio un EEPROM: un área de memoria no volátil (en el caso de la Raspberry Pi 4 de 512 KB) que es de sólo lectura, pero que es electrónicamente borrable, haciendo que esta se puede actualizar o cambiar según sea necesario.En fin, no los quiero aburrir mucho con el barniz teórico que representa todo el tema de cómo funciona un bootloader en un PC, pero si tienen más preguntas, tienen dos opciones:
- Pueden leer el siguiente artículo, y si están interesados en cómo funciona el tema específicamente en la Raspberry Pi 4, este otro documento los podrá ayudar más. Si son realmente hardcore, este thread los podrá ayudar mucho más allá.
- Pueden dejar su comentario abajo y así todos aprendemos más.
Los pasos a seguir son:
- Asegúrense de estar actualizados mediante
sudo apt update;sudo apt upgrade;sudo rpi-update
- Después de reiniciar, instalen rpi-eeprom:
sudo apt install rpi-eeprom
- Ajusten la configuración para que tome la última beta en vez de sólo updates críticos, en
/etc/default/rpi-eeprom-update
, cambien el valor decritical
abeta
- Ahora viene la parte interesante: sobreescribir la EEPROM. Esto se hace mediante el siguiente comando:
sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-05-15.bin
- Otro reinicio
- Después de este reinicio podemos verificar que estamos corriendo el nuevo bootloader mediante
vcgencmd bootloader_version
. Este deberá decir que es de al menos el 15 de mayo del 2020. - También deberemos verificar que la configuración es la adecuada: al ejecutar
vcgencmd bootloader_config
nos deberemos fijar en la constanteBOOT_ORDER
, este debería decir0x41
. Qué significa esto? Pues es el order de booteo: 1 corresponde al slot MicroSD y será la primera en probarse. Cuando no esté, se intentará la siguiente opción, 4 que corresponde a los puertos USB. También hay otras opciones que corresponden a PXE (2) y usbboot (que sería el 3).
Actualizar los archivos en la partición/boot
: para esto ejecutaremos lo siguiente (cambiar las rutas a lo que corresponde en su sistema local):rsync -av /boot/*.elf /media/pi/boot && rsync -av /boot/*.dat /media/pi/boot
- Ahora viene la hora de la verdad:
sudo shutdown -P now
- Sacar la tarjeta MicroSD
- Profit!
Capítulo 9: El aftermath
Excepto... no fue profit para mi lamentablemente. Cuando booteó, me saludó el siguiente mensaje de error:
Me tomó una buena media hora averiguar de qué se trataba este error, pero la pista estaba ahí mismo: sucede que si leyeron bien la segunda parte de mi aventura, podrán leer que tuve que; en un determinado momento; cambié el PARTUUID del SSD. Acto seguido, tuve que editar
/etc/fstab
y aquí es donde está el problema: no había editado esta entrada, así que lo que pasó fue que el bootloader cargó desde el SSD y en cuanto se inicia Linux (Raspbian en este caso), cuando intenta montar las unidades /boot
y /
, no puede hacer el primero porque todavía estaba apuntando al PARTUUID de la MicroSD.Esta situación no puede darse cuando uno instala el sistema desde cero o si nunca habías hecho correr el sistema operativo desde el SSD de antes que saliera esta actualización, pero lo menciono por si hay gente que está en la misma situación.
La solución fue bastante simple: metí nuevamente la MicroSD pq no tenía ganas de llevarme el SSD hacia arriba, booteé, cambié la entrada correspondiente en
/etc/fstab
y lo apagué nuevamente con sudo shutdown -P now
. Después de sacar la tarjeta MicroSD nuevamente... EUREKA! Funcionó a la perfección!Capítulo 10: Benchmark (de nuevo)
Después de ejecutar nuevamente mi benchmark shuper cachilupi:
Código:
sync;\
dd if=/dev/zero of=tempfile bs=1M count=1024; \
sync; \
sudo sysctl -w vm.drop_caches=3; \
dd if=tempfile of=/dev/null bs=1M count=1024; \
rm -f tempfile
Les puedo contar que el promedio me dio una cifra muy parecida: eso si esta vez no hubo throttling así que la escritura promedio me dio 210 MBps y lectura me dio un promedio de 316 MBps: cifras algo más altas que el correspondiente 197 MBps y 310 MBps de la prueba pasada, pero dentro de lo que considero un margen de error normal.
Capítulo 11: Conclusiones (nuevamente)
Estoy muy satisfecho con el resultado: la Raspberry Pi 4 no ha arrugado en cuanto a rendimiento y se siente como un equipo ágil capaz de hacer tareas domésticas sin problema alguno. Tiene obviamente sus pifias y a veces se demoran harto en sacar las actualizaciones que mejoran o incorporan nuevas funcionalidades, pero cumple y en general lo hace bastante bien, aún estando en beta.
Recomendaría esta placa con esta configuración a alguien? Por supuesto! Considerando que se le pueden conectar 2 monitores a 4K, por el precio que salen todas las piezas (fuente de poder de 3A + case + refrigeración pasiva + case para el SSD + el SSD en si mismo) se puede armar un PC de escritorio enano decente a bajo precio: no podrá jugar las últimas chupadas del mate pero hay que recordar que RetroPie lo está haciendo bastante bien también con su distro enfocada a ser una plataforma para poder sacarle el jugo. En su última versión sacada hace apenas algunos días, incluso viene con Steam de forma predeterminada, aunque el soporte para los juegos es bastante chico todavía.
Y es que es esa la gracia de la Raspberry Pi: es tan diverso lo que se puede hacer con él que ahora, con una velocidad decente y un booteo directo desde los puertos USB, sólo se verá ampliada la parrilla de posibilidades con esta máquina.
Última modificación: