Raspberry PI 3: Arrancar desde USB

Uno de los pocos defectos de la Raspberry Pi, es que si le das un uso intenso, termina por corromper la tarjeta SD y desgraciadamente este ha sido mi caso.

Desde hacia tiempo, el sistema de mi Raspberry Pi venia sufriendo problemas de estabilidad, se quedaba congelado, y esto empezaba a ocurrir cada vez con más frecuencia, y en mi caso, que tengo mi propia nube privada en la Raspberry Pi junto a mi ropia VPN para todos los dispositivos de mi casa que necesitan Internet, incluidos los teléfonos móviles de toda la familia, me suponía ciertos problemas como podéis imaginar.

Estos fallos eran producto de los problemas de lectura/escritura que empezaba a tener la tarjeta SD, pero gracias a la gran comunidad y soporte que tienen las Raspberry Pi, encontré una forma de utilizar una memoria USB como sistema en vez de una tarjeta SD y así evitar volver a tener estos problemas.

Todo lo que voy a explicar aquí está en fase experimental, aunque llevo unos meses utilizando este sistema y hasta ahora no he tenido ningún problema.

Para que la Raspberry Pi 3 arranque desde un dispositivo de almacenamiento masivo USB necesitamos una tarjeta SD con Raspbian o Raspbian Lite, arrancar con ella y modificar un bit del SOC de la memoria OTP (One Time Programmable), una vez modificado ese bit ya no necesitaremos más la tarjeta.

Avisaros que este cambio que vamos hacer es permanente y no se puede deshacer.

Como siempre, lo primero es actualizar el sistema

sudo apt-get update && sudo apt-get upgrade

Habilitamos el modo de arranque USB:

echo program_usb_boot_mode = 1 | sudo tee -a /boot/config.txt

Reiniciamos la Raspberry Pi y verificamos que la OTP tiene el valor 3020000a

sudo reboot

vcgencmd otp_dump | grep 17:
17:3020000a

Si vamos a utilizar la tarjeta de memoria en otra Raspberry y no queremos programar el modo de arranque USB, podemos editar el fichero /boot/config.txt y eliminar la linea program_usb_boot_mode = 1, teniendo cuidado de no dejar ninguna linea en blanco al final del fichero.

Ahora podemos usar Etcher para crear un USB con autoarranque y con la imagen del sistema operativo que deseemos, tal y como haces con cualquier otro sistema.

Recuerda que para que arranque nuestro dispositivo USB debemos de tener quitada la tarjeta SD , si no lo hacemos, arrancas desde ella.

Ese sistema no funciona con todas las memorias USB, se ha comprobado que funciona con: - Sandisk Cruzer Fit 16GB - Sandisk Cruzer Blade 16Gb - Samsung 32GB USB 3.0 drive - MeCo 16GB USB 3.0

Personalmente me ha funcionado con una memoria Kingston DTI/8GB DataTraveler USB 2.0 Flash Drive

Referencias:

comentario powered by Disqus