Particiones y redimensionamiento de espacio en tarjetas SD (Raspberry Pi)

por | 27 marzo, 2020

En muchas ocasiones, tras la instalación de una imagen o distribución compatible con nuestra Raspberry Pi, nos encontraremos en la situación de que la imagen no usa el espacio total de la tarjeta SD que hemos comprado, es decir, solo utiliza entre 3,5 y 4Gb. Si nuestra tarjeta SD es de 16Gb estaremos perdiendo un aproximado a 12Gb.

Si la distribución o sistema operativo disponen de interfaz gráfica nos resultará relativamente sencillo reorganizar particiones tras la instalación de aplicaciones como gparted, sin embargo, si únicamente disponemos de la consola, se complicará un poco el asunto y tendremos que remangarnos un poco si no somos expertos en sistemas operativos o distribuciones linux.

La aplicación gparted en modo interfaz es muy parecida al menú de creación y formateo de discos de Windows y no entraremos en más detalle, iremos directamente a lo complicado que es el temido «modo consola«.

1. Instalación de ‘gparted’

Iniciaremos sesión como usuario ‘root‘ e instalaremos la aplicación con la siguiente instrucción en nuestra consola:

  • Debian/Ubuntu: sudo apt-get install parted
  • RHEL/Centos: yum install parted
  • Fedora 22+: dfn install parted

Nota: En nuestro ejemplo veréis que usamos una distro llamada raspbx destinada al uso de Raspberry como CTI. Sería el equivalente a un Ubuntu y deberíamos usar comandos de instalación de tipo ‘sudo apt-get install…’

2. Inicio y uso de ‘parted

Arrancaremos la aplicación escribiendo el siguiente comando en la consola:

parted

Una vez dentro de la aplicación escribiremos el comando ‘help‘ para que sean listadas las opciones disponibles:

help

Listaremos los dispositivos de almacenamiento disponibles en nuestro sistema para identificar cual se corresponde con nuestra tarjeta SD. En nuestro ejemplo nuestra tarjeta SD dispone de 32Gb y solo están en uso real aproximadamente 4Gb.

Para listar los dispositivos usaremos el comando que mostraremos a continuación y podréis ver en las últimas líneas que nuestra tarjeta SD tiene dos particiones. La primera con 268Mb y la segunda con 3750Mb, es decir, no aparecen o no veremos por ningún sitio los 28Gb restantes.

print all

Es necesario en este punto hacer foco o indicar que dispositivo de almacenamiento deseamos modificar, para ello usaremos el siguiente comando donde indicaremos como parte de la instrucción el nombre de nuestro dispositivo (en nuestro ejemplo la tarjeta SD es /dev/mmcblk0).

select /dev/mmcblk0

Aquí forzaremos el uso restante de la tarjeta SD creado una nueva partición, no obstante, debemos indicar desde que punto del SD comienza nuestra partición y donde acabará. Esto nos permite crear particiones con un tamaño personalizado o al gusto dependiendo del uso que vayamos a darle, en nuestro ejemplo simplemente crearemos una unidad o partición más con los 28Gb que no se están utilizando.

Ejecutaremos el comando mkpart donde los argumentos de entrada indicarán el tipo de partición (en nuestro ejemplo ‘primary‘),  el sistema de archivos (en nuestro ejemplo ‘ext2’ que luego cambiaremos a ext4), el inicio de la partición (como la anterior termina en la posición 4022Mb, en nuestro ejemplo empezaremos en ‘4023Mb’) y el fin de la partición (en nuestro caso 32.0Gb). El comando resultante será el siguiente:

mkpart primary ext2 4023Mb 32.0Gb

Para comprobar si se ha creado la partición ejecutaremos de nuevo el comando ‘print all’:

Tras esta última comprobación nuestro trabajo con ‘parted’ o ‘gparted’ ya habrá terminado, para salir de esta aplicación escribiremos el siguiente comando:

quit

3. Formateo y montaje de unidad

Tras los pasos anteriores ya podremos empezar a dar uso al espacio sobrante en nuestra tarjeta SD, sin embargo, es preciso darle formato y montarla en una ruta para que podamos tener acceso, esto sería similar a asignar una unidad a una nueva partición en windows (G: – F: – …).

Nuestra partición, debido al anterior apartado 2, se encuentra en sistema de archivos ext2, así pues, daremos formato a dicha unidad pasandola a sistema ext4 para superar futuras limitaciones en tamaños de archivos/ficheros y beneficiarnos de las mejoras de ext4 frente a ext2 ó ext3.

Antes del formateo necestitamos tener claras las particiones disponibles en nuestro sistema sin usar gparted, para ello usaremos este simple comando desde la consola:

lsblk

Este nos ofrece el listado de unidades, espacio total, usado, disponible,… e identificamos nuestra partición en nuestro ejemplo como la denominada mmcblk0p3.

Esto nos indica que nuestra partición existe con nombre mmcblk0p3 pero no tiene asignado un punto de montaje.

Antes de llevar a cabo el montaje, y para evitar errores posteriores en dicho proceso, debemos dar el formato de archivos a nuestra partición. Esto lo haremos con el siguiente comando ahora que sabemos el nombre de la partición.

mkfs.ext4 /dev/mmcblk0p3

En el siguiente paso crearemos un directorio que servirá como punto de montaje y montaremos la partición.

mkdir /raspbxfs

mount -t ext4 -v /dev/mmcblk0p3 /raspbxfs

Ahora solo quedaría listar de nuevo directorios desde la ruta raiz (ls -larth) o volver a usar el comando lsblk para ver el resultado 🙂

ls -larth

lsblk

Esperamos como siempre que os sea de ayuda este manual!

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.