HotPlug

De Cliss XXI
Sauter à la navigation Sauter à la recherche
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Au démarrage, se lance après!

  • le montage des systèmes de fichiers
  • après le support USB

Au lancement, il y a coldplug, c'est à dire des événements hotplug comme on branchait tous les périphériques à ce moment-là.

Fournit par le paquet Debian 'hotplug', ou bien 'udev' (quelle différence?) (udev requiert noyau Linux 2.6).

Fichiers: cf. man 8 hotplug


Que veut dire ceci?

/etc/hotplug/NAME/DRIVER         driver setup scripts, invoked by agents

Réponse: par exemple:

/etc/hotplug/usb/usb-storage

sera appelé si le périphérique qu'on vient de brancher utilise le module noyau 'usb_storage'

Code périphérique "mass storage device": 8/6/80

Exemple de fichier de hook: http://forums.gentoo.org/viewtopic-t-113911.html

#!/bin/bash

#create a script to undo our actions upon removal
if [ "$INTERFACE" = "8/6/80" ]; then
   if [ "$PRODUCT" = "5e3/702/33" -o "$PRODUCT" = "05e3/0702/0033" ]; then
       mount /backup
       cat <<'EOF' > $REMOVER
#!/bin/bash
umount -f /backup
EOF
       chmod a+x $REMOVER
   fi
fi

#!/bin/bash
#DEBUG
#echo "======="
#(
#    echo $0 $*
#    env
#)> /tmp/hot.txt
#echo "======="


On note qu'on doit faire directement référence, dans /etc/fstab, à un nom de périphérique (ici /dev/sda1). Ce serait mieux que hotplug nous dise lequel.

Exemple de sortie DEBUG ci-dessus:

SUBSYSTEM=usb
DEVPATH=/devices/pci0000:00/0000:00:10.2/usb3/3-2/3-2:1.0
REMOVER=/var/run/usb/%proc%bus%usb%003%002
PATH=/bin:/sbin:/usr/sbin:/usr/bin
ACTION=add
MODALIAS=usb:v05E3p0702d0033dc00dsc00dp00ic08isc06ip50
PWD=/etc/hotplug
UDEV_LOG=1
MANAGED_EVENT=1
UDEVD_EVENT=1
SHLVL=2
HOME=/
DEVICE=/proc/bus/usb/003/002
INTERFACE=8/6/80
PRODUCT=5e3/702/33
TYPE=usb
PHYSDEVBUS=usb
SEQNUM=379
_=/usr/bin/env


Other systems

udev

udev replaces hotplug and provide the same events

HAL

From /usr/share/doc/udev/FAQ.gz:

Q: Can I use udev to automount a USB device when I connect it? A: Technically, yes, but udev is not intended for this. All major distributions use HAL (http://freedesktop.org/wiki/Software_2fhal) for this, which also watches devices with removable media and integrates into the desktop software.

Voir aussi