La herramienta
hotplug∞ carga de forma totalmente
dinámica los módulos necesarios del kernel cuando detecta que se ha conectado un dispositivo USB al equipo. Como por ejemplo un ratón o un pen-drive. En Debian instalarlo es tan fácil como hacer un
# apt-get install hotplug
El hotplug solo carga los módulos USB. También es necesario cargar el soporte para discos duros SCSI, ya que la memoria USB (pen-drive) se monta como tal. Hay que hacer que en cada arranque del sistema se cargue el módulo del soporte de discos SCSI, el sd_mod (en kernels 2.4.x). En Debian bastaría con añadir el nombre del módulo al fichero /etc/modules
# echo sd_mod >> /etc/modules
En la Slackware seria una cosa así
# echo "modprobe sd_mod" >> /etc/rc.d/rc.modules
Si se quiere usar el pen-drive sin reiniciar el sistema haría falta cargar el módulo sd_mod manualmente mediante el comando modprobe. Una vez que esta instalado y lanzado el hotplug, se puede ya conectar el pen-drive a una conector USB libre del equipo. Éste detecta que se ha conectado el dispositivo y carga los módulos necesarios, como por ejemplo el usb-storage (USB Mass Storage support). Ahora hay que averiguar en que fichero de dispositivo de disco duro SCSI (/dev/sdxy), mapea el kernel el pen-drive. Esto se puede ver por ejemplo, si en el momento de conectarlo se esta delante de un terminal (ttyx). También es posible verlo en los ficheros de logs gestionados por syslog, específicamente en el fichero de mensajes del kernel.
[...]
Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0
SCSI device sda: 256000 512-byte hdwr sectors (131 MB)
sda: Write Protect is off
sda: sda1
USB Mass Storage support registered.
El fichero es el /dev/sda1. A continuación se debería crear el directorio que servirá de punto de montaje para el pen-drive. En este caso concreto, se crea el directorio /pen para el montaje del pen.
El supermount se usa para evitar tener que montar y desmontar manualmente la unidad USB cada vez que se usa. Una vez que se ha creado el punto de montaje y se sabe que fichero de dispositivo usa la memoria USB, se añade algo parecido a esto al fichero /etc/fstab
none /pen supermount dev=/dev/sda1,fs=vfat 0 0
Esta linea dice que en el arranque del sistema se monte el dispositivo que se encuentra en /dev/sda1 en el directorio /pen. Este dispositivo usa el sistema de ficheros vfat. Esto permite usarlo tanto en sistemas GNU/Linux como Windows. Por último para terminar de probar el tema, basta con ejecutar un
# mount -a
o reiniciar el sistema para que se monte automáticamente el pen-drive. Y con esto ya estaria todo. Ya se puede usar de manera auténticamente plug and play. :)