martes, 20 de septiembre de 2011

Montar automáticamente disco USB al bootear (editado)

En una entrada anterior ya indiqué cómo usar un Zotac Zbox HD-ID11 como un media center. Ahora explicaré cómo montar un disco USB al bootear sólo si éste está presente.
La forma general de montar discos o particiones al booteo es por medio de entradas en /etc/fstab. Esto funciona bastante bien excepto que la presencia del disco sea variable. Para el caso que señalo, se deberá emplear UDEV.
Lo que debemos hacer es escribir una regla UDEV que ejecute un comando ante la presencia del disco.
  1. Identifiquemos el disco removible USB.
    udevadm info -q env -n /dev/sdb
    ...
    ID_FS_LABEL=iomega500
    ID_FS_LABEL_ENC=iomega500
    ID_FS_UUID=5a3d1689-de58-4673-bd91-c88f5e648b9d
    ID_FS_UUID_ENC=5a3d1689-de58-4673-bd91-c88f5e648b9d
    ID_FS_TYPE=xfs
    ID_FS_USAGE=filesystem
    ...

    Se aprecian algunas variables útiles.
  2. Modificamos la regla 60-persistent-storage.rules (en Fedora está en /lib/udev/rules.d/60-persistent-storage.rules) Creamos un archivo en /etc/udev/rules.d/61-iomega.rules con las siguientes líneas:
    SUBSYSTEMS=="block", ENV{ID_FS_LABEL}=="iomega500", RUN+="/bin/mkdir /media/iomega500"
    SUBSYSTEMS=="block", ENV{ID_FS_LABEL}=="iomega500", RUN+="/bin/mount /dev/disk/by-label/iomega500 /media/iomega500"

    La primera línea crea el punto de montaje /media/iomega500 ya que en Fedora /media es de tipo tmpfs.
    La segunda línea efectúa el montaje.
    Estas reglas sólo se ejecutan cuando se detecta un disco con etiqueta iomega500. En caso que deseemos algo más de control, podemos usar ID_FS_UUID.

No hay comentarios: