Hace un tiempo, en casa se me está cortando seguido el suministro de energía (Argentina, no lo entenderías) y si no estoy en casa mi Pi queda obsoleta porque cuando la luz vuelve el sistema no llega a levantar del todo por lo que queda inaccesible y si yo o alguien en casa la desenchufa de la corriente y la vuelve a enchufar el sistema vuelve a restaurarse y todo vuelve a funcionar de maravilla. Pero es un problema y muy grande. Por lo que me puse a investigar y... 🤪
¡Por fin pude hacer algo que queria hacer hace rato!. Logré llevar mi Raspbian actual, el que tengo instalado en mi microSD de 32GB a un SSD de 128GB. Para ésta prueba lo voy hacer en un HDD de 320GB que tengo tirado por ahí. Asi que paso a contarles como logré éste hito domótico para mi.
Primero que nada tenemos que tener la última versión del firware EEPROM de la Pi para que tengamos la opción de poder bootear desde un SSD, HDD o un pendrive. Para eso vamos a ejecutar el siguiente comando:
$ sudo raspi-config
Con ese comando vamos a ejecutar la configuración de la Pi por lo que vamos a setear lo siguiente: 6 Advanced Options -> A7 Bootloader Version -> E1 Latest -> Confirmamos y Finish



Una vez confirmado ésto vamos a reiniciar la Pi para que se instale la nueva versión del firmware.
Ahora con el nuevo firmware ya podemos hacer el volcado del sistema en el dispositivo de almacenamiento que vamos a usar. En mi caso y como dije arriba voy a usar un HDD de 2.5mm (el típico de una notebook) para después hacer la comparación con un SSD que es el que estoy usando. Eso si, si tu microSD que tenés en es de 32GB tenés que usar un dispositivo con un tamaño más grande sea el dispositivo que sea. Yo lo intenté hacer con un pendrive de 32GB (mismo tamaño que la microSD) pero al final del volcado indica el error de que no tiene espacio para seguir escribiendo por lo que no funciona y conviene usar uno más grande.
Ahora, conectamos nuestro dispositivo a la Pi el cual será detectado (pero no montado) por el sistema. Con el disco conectado tenemos que saber cual es la ruta donde está el disco, para ello vamos hacer lo siguiente:
$ lsblk -f
Con ese comando vamos a saber cual es la ruta del disco, en mi caso /dev/sdc. Si tenemos más dispositivos conectados antes de conectar el HDD que queremos para el sistema seguramente veamos /dev/sda y /dev/sdb correspondiente a los conectados. Si solo va a estar conectado el del sistema es probable que solo esté sda.

Ahora vamos a hacer el vuelco de información de lo que está actualmente en la microSD de la Pi al disco que vamos a querer bootear, en mi caso a modo de prueba, un HDD (con su ruta /dev/sdc).
El comando que vamos a utilizar es el siguiente:
sudo dd bs=4M if=/dev/mmcblk0 of=/dev/sdX (donde X es el disco a volcar el sistema)
dd: El comando principal para la copia de datos.
if=/dev/mmcblk0:
of=/dev/sdX:
Cuando ejecutás el comando no vas a tener respuesta alguna hasta el final, solo vas a ver la consola colgada hasta que se libere cuando termine de hacer la copia completa de la microSD al disco. En mi caso tardó alrededor de 20 minutos.
Una vez que se hace el volcado del contenido de la microSD en el dispositivo de almacenamiento, solo resta apagar la pi, desconectar la microSD de la bahía y volver a prenderla solo con el disco y ver como bootea el sistema. Si lo hiciste sobre un SSD el booteo es casi instantáneo (sobre todo, y siendo super recomendable, usando el puerto usb 3.0) pero con un HDD se toma unos segundos.
Con el sistema booteado (espero que haya pasado) si hacés el comando df -k vas a ver que el espacio del sistema tiene solo los 32GB que tenía la microSD a pesar de estar puesto es un disco 360GB como es el caso del HDD que usé por lo que tenemos que usar las opciones avanzadas para hacer la extensión de la partición, para ello vamos a ejecutar nuevamente sudo raspi-config.
Vamos a ir nuevamente a la opción 6 Advanced Options y elegiremos la opción A1 Expand Filesystem para expandir el sistema de archivos y poder usar todo el espacio disponible que queda del dispositivo.
