HotPlug
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.