Différences entre versions de « HotPlug »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
m
imported>WikiSysop
(Annulation des modifications 5899 de 188.92.74.95)
 
(2 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 91 : Ligne 91 :
 
* http://kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs : le point sur udev
 
* http://kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs : le point sur udev
 
* http://www.reactivated.net/writing_udev_rules.html
 
* http://www.reactivated.net/writing_udev_rules.html
 +
* http://www.wlug.org.nz/HotPlugNotes : page d'un glug proche de celle-ci

Version actuelle datée du 11 juillet 2010 à 20:28

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