Por defecto, las Raspberry Pi arrancan el sistema operativo únicamente desde la tarjeta micro SD, que tiene un ancho de banda máximo teórico de apenas 50 Mbps para la versión 4 y de 25 Mbps para las anteriores. Utilizar un SSD o pendrive USB puede acelerar dramáticamente el rendimiento del dispositivo, pero no ha sido hasta ahora que con una actualización de firmware se puede hacer, así que a continuación os vamos a realizar una guía paso a paso para arrancar la Raspberry Pi 4 desde USB, con un SSD o pendrive.
Una de las principales ventajas es también uno de los mayores inconvenientes de las Raspberry Pi. Que utilicen una tarjeta micro SD como almacenamiento es una forma de tener un espacio barato, que apenas se degrada y que ni se calienta ni ocupa casi sitio físicamente, pero a la vez es un punto débil porque del almacenamiento depende el rendimiento de todo el dispositivo, y con el reducido ancho de banda que ofrece la interfaz de estos dispositivos, provoca que todo vaya bastante lento.
En las pruebas realizadas se han conseguido velocidades de hasta 140 MB/s de lectura y 208 MB/s de escritura utilizando un SSD conectado por USB a una Raspberry Pi 4, unas velocidades tremendamente superiores a lo que el dispositivo admite si nos decantamos por una tarjeta micro SD. Igualmente, se puede utilizar un pendrive USB 3.0 en lugar de un SSD, y esto también acelerará bastante el rendimiento de almacenamiento del dispositivo ya que hay unidades muy baratas que superan con creces los 100 MB/s.
Para ganar velocidad tendríamos que comprar un pendrive de alto rendimiento y, aun así, estaríamos limitados por la interfaz de dicho bus, así que lo más sencillo sigue siendo un SSD normal y corriente de la capacidad que necesitemos y gastando lo mínimo posible.
Vamos a ver cómo hacerlo.
Cómo hacer que la Raspberry Pi 4 arranque desde un SSD o pendrive USB
Lo primero que debes hacer es arrancar la Raspberry Pi desde la micro SD de manera normal, preferiblemente con el sistema operativo Raspbian. Acto seguido es necesario actualizar el OS, y para ello debes introducir los siguientes comandos:
- sudo apt update
- sudo apt full-upgrade
Cuando el proceso termine debes editar un fichero para que permita instalar esta actualización de firmware de la que hablamos, dado que se trata de una versión en fase Beta. Introduce el siguiente comando:
- sudo nano /etc/default/rpi-eeprom-update
En el editor modifica el valor «critical» por «beta» y pulsa CTRL + X para salir (pulsa Y cuando pregunte si quieres guardar los cambios para guardarlos).
Una vez hecho esto, hay que instalar el bootloader beta y para ello debes introducir el siguiente comando:
- sudo rpi-eeprom-update -d -f /lib/firmware/raspberrypi/bootloader/beta/pieeprom-2020-05-15.bin
Es posible que este proceso falle si ha aparecido un firmware más moderno, en cuyo caso deberás comprobar la fecha del mismo. Para ello, simplemente ve al directorio «/lib/firmware/raspberrypi/bootloader/beta/» y comprueba el nombre del archivo pieeprom.
Después de hacer esto, debes reiniciar la Raspberry Pi, y cuando vuelva a arrancar comprueba que se ha instalado correctamente con el siguiente comando:
- vcgencmd bootloader_version
Deberías ver que la fecha del firmware coincide con la que instalamos en el paso previo antes de reiniciar, para evitar problemas.
Si todo está correcto, ahora deberías, o bien copiar todo el contenido de tu micro SD con Raspbian al SSD o pe drive USB que quieras utilizar, o bien montar una imagen nueva del sistema operativo. En Raspbian tienes una aplicación llamada «SD Copier» que será capaz de realizar todo el proceso de una manera casi automática.
Ahora hay que hacer una pequeña triquiñuela para que funcione todo bien, y para ello lo recomendable es utilizar un PC con Windows en el que puedas conectar el SSD o unidad USB que quieras usar luego en la Raspberry.
Empieza por descargar el fichero completo de la actualización de firmware, descomprímelo en alguna parte de tu PC, y lo que debes hacer a continuación es acceder al directorio «/boot» y copiar todos los archivos con extensión *.dat y *.elf en la partición «boot» del dispositivo USB, sobreescribiendo los datos existentes.
Ahora, con la Raspberry Pi 4 apagada quítale la tarjeta micro SD y conecta el SSD o pendrive USB que hemos modificado anteriormente. Si todo ha ido bien, debería arrancar el sistema operativo de manera normal y sin que tengas que tocar nada más.
Una vez hecho esto, podrás comprobar que el rendimiento del dispositivo ha mejorado sustancialmente, y tal y como te hemos contado al principio de este artículo podrás obtener unas velocidades de transferencia bastante más elevadas pero, sobre todo, un arranque del sistema operativo casi instantáneo, algo muy de agradecer para poder utilizar el aparato en cuanto lo conectas a la corriente.
Posibles problemas
Ten en cuenta una cosa, y es que la energía que entregan los puertos USB de la Raspberry es muy limitada. Muchos usuarios se encuentran con problemas como que el sistema operativo arranca bien pero no funciona ningún periférico conectado por USB (y evidentemente achacan la culpa de esto a que la energía de los USB no da para más). Si este es tu caso, es recomendable utilizar, por ejemplo, un docking para el SSD que tenga alimentación externa y que no necesite tomar la alimentación del propio puerto USB.
También tienes la opción de no alimentar la Raspberry Pi mediante USB sino con un adaptador de corriente (que a su vez será USB, como el de los móviles), ya que así le estarás dando al dispositivo toda la energía que necesita. Si por ejemplo tienes la Raspberry alimentada por el USB de una TV sufrirás este tipo de problemas, ya que la energía que es capaz de suministrar este puerto está bastante limitada y, a veces, se torna insuficiente.
Otro posible problema de utilizar un SSD con la Raspberry Pi es el espacio físico que este ocupa; a este respecto lo ideal es imprimir en 3D una carcasa en la que puedas instalar tanto la Raspberry como la unidad de estado sólido para que ambas estén siempre en su sitio y no corras el riesgo de que se desconecten. Pero si esto no es posible, la recomendación es, obviamente, no mover los aparatos de sitio y evitar colocarlos en algún lugar en el que se puedan golpear accidentalmente.
Igualmente es posible comprar una carcasa externa USB para un SSD SATA en formato M.2, lo cual nos será muy útil, tanto como un pendrive aunque con un poco más de tamaño, por lo que realmente tendremos un mayor rendimiento con un coste energético bajo.
Una carcasa como esta que os dejamos justo encima nos garantiza una velocidad más que alta gracias a USB 3.1, que superará por mucho lo que Raspberry Pi puede soportar y por un precio módico al que habría que sumarle la del propio SSD que, por suerte, cada vez son más baratos. Y ahí está el problema de esto puesto que como poco nos estaríamos yendo unos 40 euros por encima y siendo optimistas, pero es una opción interesante si lo que queremos es portabilidad, porque como bien sabemos la movilidad se paga y cada vez es más cara.
Además, esto nos asegurará evitar los posibles problemas de energía de la Raspberry.