Skip to main content

Quiosco autoformat pendrives

Requisitos

Instalación

Instalación de herramientas para formatear en exfat desde la shell.

apt install -y exfatprogs

Descarga del monitor de dispositivos que notificará cuando un dispositivo ha sido conectado.

cd /root
git clone https://github.com/netinvent/udev_monitor.git
cd udev_monitor

Introduzca un pendrive con alguna partición en el sistema y obtenga el VID y PID del dispositivo

root@raspberrypi:~/udev_monitor# lsusb
Bus 001 Device 012: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick

En este ejemplo el pendrive tiene un VID (VendorID - Fabricante) 0930 y un PID (Product ID - Producto) 6545. Ejecute el script pasando por parametro ambos valores vid:pid

root@raspberrypi:~/udev_monitor# ./format_dev_exfat.sh 0930:6545
Detectada particion con identificador sda1
Detectada particion con identificador sda2
Detectada particion con identificador sda3
Si no quieres que se borre el contenido retira YA! el dispositivo!!!!
Se inicia el formateo del dispositivo  a formato EXTFAT en 5 segundos

------------------------------------------------
Formateando particion sda1
------------------------------------------------
exfatprogs version : 1.1.3
Creating exFAT filesystem(/dev/sda1, cluster size=131072)

Writing volume boot record: done
Writing backup volume boot record: done
Fat table creation: done
Allocation bitmap creation: done
Upcase table creation: done
Writing root directory entry: done
Synchronizing...

exFAT format complete!
------------------------------------------------

------------------------------------------------
Formateando particion sda2
------------------------------------------------
exfatprogs version : 1.1.3
Creating exFAT filesystem(/dev/sda2, cluster size=131072)

Writing volume boot record: done
Writing backup volume boot record: done
Fat table creation: done
Allocation bitmap creation: done
Upcase table creation: done
Writing root directory entry: done
Synchronizing...

exFAT format complete!
------------------------------------------------

------------------------------------------------
Formateando particion sda3
------------------------------------------------
exfatprogs version : 1.1.3
Creating exFAT filesystem(/dev/sda3, cluster size=131072)

Writing volume boot record: done
Writing backup volume boot record: done
Fat table creation: done
Allocation bitmap creation: done
Upcase table creation: done
Writing root directory entry: done
Synchronizing...

exFAT format complete!
------------------------------------------------
YA PUEDE RETIRAR EL DISPOSITIVO

Si todo ha funcionado correctamente, lance el monitor indicandole la ruta del script de formateo

python3 udev_monitor/udev_monitor.py -u add -a /root/scripts/format_dev_exfat.sh

Pruebas

Desconecte el USB y en otro equipo prepare las particiones en una unidad flash usb

Introduzca datos en cada una de las particiones

Desconecte la unidad del portátil y conectela en el quiosco. Espere a que el proceso del quiosco la detecte y lance el script de formateado.

2023-02-05 12:39:23,674 :: INFO :: PID: 31784 :: Device 0930:6545 added as /dev/bus/usb/001/011
2023-02-05 12:39:25,678 :: INFO :: PID: 31784 :: Executing comamnd ./format_dev_exfat.sh 0930:6545
2023-02-05 12:39:26,427 :: INFO :: PID: 31784 :: Device 0930:6545 added as /dev/sda
2023-02-05 12:39:26,810 :: INFO :: PID: 31784 :: Device 0930:6545 added as /dev/sda3
2023-02-05 12:39:26,817 :: INFO :: PID: 31784 :: Device 0930:6545 added as /dev/sda2
2023-02-05 12:39:26,822 :: INFO :: PID: 31784 :: Device 0930:6545 added as /dev/sda1
2023-02-05 12:39:28,432 :: INFO :: PID: 31784 :: Executing comamnd ./format_dev_exfat.sh 0930:6545
2023-02-05 12:39:30,727 :: INFO :: PID: 31784 :: Command executed succesfully. Output was:
2023-02-05 12:39:30,729 :: INFO :: PID: 31784 :: Si no quieres que se borre el contenido retira YA! el dispositivo!!!!
Se inicia el formateo del dispositivo  a formato EXTFAT en 5 segundos

2023-02-05 12:39:35,841 :: INFO :: PID: 31784 :: Command executed succesfully. Output was:
2023-02-05 12:39:35,842 :: INFO :: PID: 31784 :: Detectada particion con identificador sda1
Detectada particion con identificador sda2
Detectada particion con identificador sda3
Si no quieres que se borre el contenido retira YA! el dispositivo!!!!
Se inicia el formateo del dispositivo  a formato EXTFAT en 5 segundos
Formateando particion sda1
------------------------------------------------
exfatprogs version : 1.1.3
Creating exFAT filesystem(/dev/sda1, cluster size=131072)

Writing volume boot record: done
Writing backup volume boot record: done
Fat table creation: done
Allocation bitmap creation: done
Upcase table creation: done
Writing root directory entry: done
Synchronizing...

exFAT format complete!
------------------------------------------------
Formateando particion sda2
------------------------------------------------
exfatprogs version : 1.1.3
Creating exFAT filesystem(/dev/sda2, cluster size=131072)

Writing volume boot record: done
Writing backup volume boot record: done
Fat table creation: done
Allocation bitmap creation: done
Upcase table creation: done
Writing root directory entry: done
Synchronizing...

exFAT format complete!
------------------------------------------------
Formateando particion sda3
------------------------------------------------
exfatprogs version : 1.1.3
Creating exFAT filesystem(/dev/sda3, cluster size=131072)

Writing volume boot record: done
Writing backup volume boot record: done
Fat table creation: done
Allocation bitmap creation: done
Upcase table creation: done
Writing root directory entry: done
Synchronizing...

exFAT format complete!
------------------------------------------------

Como puede ver en el listado , se han borrado las tres particiones. Se han formateado como exFAT. Desconecte el dispositivo y compruebe en equipo portátil que los datos concuerdan.