El nodo Udev /dev/sda se crea en el arranque incluso cuando la unidad está desconectada

El nodo Udev /dev/sda se crea en el arranque incluso cuando la unidad está desconectada

Editar: me gustaría simplificar un poco la pregunta:

El problema principal es este: /dev/sda se crea al arrancar, ya sea que mi unidad USB esté insertada o no. Si manualmente rm /dev/sda, udev funciona correctamente hasta que reinicio, momento en el cual /dev/sda aparece mágicamente nuevamente.

La pregunta original es la siguiente:

Estoy ejecutando una compilación de Yocto Linux en una placa integrada y me encontré con un problema.

Con una compilación nueva, cuando conecto una unidad USB a la placa, se muestra como /dev/sda y /dev/sda1 (¡genial!). Cuando desconecto el disco, esas entradas desaparecen (¡también genial!).

El problema ocurre después de copiar un sistema de archivos raíz duplicado en la placa a través de la unidad USB (esto es para poder realizar actualizaciones completas del sistema en la placa). Todo funciona bien hasta que reinicio, cuando de repente /dev/sda y /dev/sda1 existen ya sea que la unidad USB esté insertada o no.

Revisé los permisos y parecen iguales en ambos casos. Intenté eliminar los archivos pero reaparecen en el siguiente reinicio. Los dos archivos no se copian con el nuevo sistema de archivos raíz. Mi aplicación utiliza la presencia de esos archivos para determinar si se inserta una unidad, por lo que es importante que funcionen correctamente.

¿Algunas ideas?

Gracias

marlon

Respuesta1

Cambie la forma de buscar una unidad USB, porque ésta no es confiable.

Utilice lsusbo consulte /proc/scsi/usb-storageel directorio. En ambas formas obtienes mucha información del kernel, por lo que además puedes jugar con cosas como cambiar a una lógica diferente según el proveedor o el número de serie :)

información relacionada