Logo Raspberry
0

Raspberry: montar manualmente USBs

No hace mucho hemos puesto el como montar de manera automática los USBs que conectemos en nuestra pequeña Raspberry.

Ahora bien, cuando USBMOUNT nos da problemas como por ejemplo:

pi@MyPyCraft:$ lsof /media/
lsof: WARNING: can't stat() fuseblk file system /media/usb0
Output information may be incomplete.

Lo que nos va a provocar que por un lado, no se monte el USB que tengamos conectado además, de que ningún otro USB se monte correctamente en nuestro sistema.

Esto es causado por un problema o bug, que ha sido reportado a los desarrolladores de USBMOUNT, pero que lamentablemente, aun no han resuelto y por lo tanto, hay que «vivir» con ello o en su defecto, buscarse una alternativa (cosa que vamos a hacer).

NOTA: Este manual requiere de ciertos conocimientos, por lo que no es apto para todo el mundo. Además y para más complicación, lo que vamos a hacer es que se monte SIEMPRE el USB en una ruta concreta, por lo que hay que tener esto claro.

Para empezar, lo que vamos a necesitar es eliminar completamente USBMOUNT de nuestro sistema.

sudo apt-get autoremove usbmount

Una vez que tengamos totalmente eliminado USBMOUNT de nuestro sistema, vamos a desmontar manualmente lo que ha intentado montar, que por lo general suele ser como el ejemplo que hemos puesto arriba.

sudo umount -f /media/usb0

Una vez que ya está desmontado, hay que ver que nos aparezca el USB dentro del sistema.

Para ello vamos a usar el comando blkid tal como se muestra a continuación:

pi@MyPyCraft:~/scripts $ sudo blkid
/dev/mmcblk0: PTUUID="f69d885c" PTTYPE="dos"
/dev/mmcblk0p1: LABEL="boot" UUID="0F5F-3CD8" TYPE="vfat" PARTUUID="f69d885c-01"
/dev/mmcblk0p2: UUID="0aed834e-8c8f-412d-a276-a265dc676112" TYPE="ext4" PARTUUID="f69d885c-02"
/dev/sda: LABEL="MINIA_RSP" UUID="AC1CB9F11CB9B6A4" TYPE="ntfs"

Tal como se puede ver, nuestro USB se corresponde con el LABEL MINIA_RSP, puesto que es el nombre que se le puso en el Label en el momento de su formateo.

Marcado en amarillo el LABEL

Con lo que nos vamos a quedar es con el UUID del disco, puesto que va a ser con lo que vamos a configurar el punto en el que se montará gracias a eso aunque lo cambiemos de puerto USB.

Como se puede ver, en el TYPE, marca que es un disco NTFS, por lo que vamos a necesitar instalar algo con lo que Linux pueda entenderlo.

sudo apt-get update
sudo apt-get install ntfs-3g -y

Una vez instalado, lo que vamos a hacer es agregar dentro de la configuración del fstab para que se la configuración se cargue al arranque.

sudo vim /etc/fstab

Lo que vamos a tener que cargar será algo como esto:
UUID=XXXX-XXXX /mnt/usbstorage ntfs nofail,uid=pi,gid=pi 0 0

IMPORTANTE: El formato del disco, es NTFS aunque el paquete que hayamos instalado se llame NTFS-3G. Lo comento para que no haya dudas al respecto.

Sustituyendo las XXXX-XXXX por el UUID que nos haya aparecido antes. Por lo tanto, en mi caso, quedaría así:

UUID=AC1CB9F11CB9B6A4 /mnt/usbstorage ntfs nofail,uid=pi,gid=pi 0 0

Guardaremos los cambios realizados y vamos a ver si ejecuta correctamente el montaje del USB.
Para hacerlo, vamos a ejecutar directamente:

sudo mount -a

No debería de darnos ningún problema, pero para eso, lo que hacemos es un clásico.

pi@MyPyCraft:~/scripts $ df -h
S.ficheros Tama▒o Usados Disp Uso% Montado en
/dev/root 7,2G 2,3G 4,7G 33% /
devtmpfs 481M 0 481M 0% /dev
tmpfs 486M 0 486M 0% /dev/shm
tmpfs 486M 6,7M 479M 2% /run
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
tmpfs 486M 0 486M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 21M 42M 34% /boot
/dev/sda 2,0G 230M 1,8G 12% /media/usb_drive

Por lo tanto, ahora podemos reiniciar nuestra raspberry y usar nuestro flamante USB (Nótese la ironía de que es un pendrive de 2GB).

¿Tenéis alguna otra alternativa a USBMOUNT?

Comentadla y vamos ampliando.