Raspberry Pi. Iniciar desde un HDD externo
Después de haber configurado la red, ahora pasaré a explicar cómo extraer la información de la raíz / de la SD para pasarla a un HDD externo y así alargar la vida de nuestra SD.
Haciendo este cambio, solamente se usará la SD en el momento del inicio, luego todo funcionará desde el HDD externo. El proceso es un poco largo, pero a la larga beneficioso.
Lo primero que tenemos que hacer, es realizar una imagen de nuestra SD, tal como se encuentra ahora. Yo el proceso lo explicaré bajo la premisa de que estás con Linux.
Antes de nada, tienes que saber en qué dispositivo está nuestra SD cuando lo insertamos en nuestro PC, para eso, haciendo un mount, se puede ver fácilmente. En mi caso es el siguiente:
root@raspberry:~# mount
/dev/mmcblk0p1 /boot
/dev/mmcblk0p2 /
Lo que a nosotros nos interesa es copiar la segunda partición de la siguiente manera:
root@raspberry:~# dd if=/dev/mmcblk0p2 of=/home/usuario/backup.img
Después lo que yo hice, fue crear las particiones necesarias en el HDD externo.
Mi particionado, quedó de la siguiente manera (recordar que ahora mismo se están realizando estas acciones desde nuestro PC, no desde la Raspberry, por eso pongo sdb):
filesystem mount point
---------- -----------
/dev/sdb1 /
/dev/sdb2 /home
# para amule-daemon
/dev/sdb5 /media/Incoming
/dev/sdb6 /media/Temporal
# para transmission-daemon
/dev/sdb7 /media/Torrents
Una vez, tenemos creadas las particiones en nuestro HDD externo, pasamos a copiar la imagen que hemos realizado anteriormente a la raíz del HDD de la siguiente manera:
root@raspberry:~# dd if=/home/usuario/backup.img of=/dev/sdb1
Ahora viene lo importante, que es modificar un fichero de la partición /boot de la SD para que cuando pongamos el HDD externo conectado a la Raspberry funcione correctamente. Recordar que cuando se haga esa conexión, pasará de ser /dev/sdb a /dev/sda.
El fichero a modificar es el siguiente (previamente hemos hecho un mount de la partición /boot):
root@raspberry:~# vi cmdline.txt
Modificamos lo siguiente root=/dev/mmcblk0p2 por root=/dev/sda1
Otra cosa a tener en cuenta, es que si queremos que por defecto, se monten el resto de particiones que hemos creado, se tienen que incluir en el fichero /etc/fstab de la Raspberry. Yo lo he hecho de la siguiente manera:
root@raspberry:~# vi /etc/fstab
Visualizaremos lo siguiente:
filesystem mount point type option dump pass
---------- ----------- ---- ------ ---- ----
proc /proc proc defaults 0 0
/dev/mmcblkp1 /boot vfat defaults 0 2
/dev/mmcblkp2 / ext4 defaults,noatime 0 1
En mi caso, lo dejé de la siguiente manera:
filesystem mount point type option dump pass
---------- ----------- ---- ------ ---- ----
proc /proc proc defaults 0 0
/dev/mmcblk0p1 /boot vfat defaults 0 2
/dev/sda1 / ext4 defaults,noatime 0 1
/dev/sda2 /home ext4 defaults 0 0
/dev/sda5 /media/Incoming ext4 defaults,noatime 0 0
/dev/sda6 /media/Temporal ext4 defaults,noatime 0 0
/dev/sda7 /media/Torrents ext4 defaults,noatime 0 0
Ahora solamente nos quedaría poner la SD en nuestra Raspberry, conectar el HD externo y todo tendría que funcionar correctamente.