Différences entre versions de « HotPlug »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
m (transfert depuis tiki interne)
 
imported>WikiSysop
(Annulation des modifications 5899 de 188.92.74.95)
 
(8 versions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
Se lance après le montage des systèmes de fixer
+
Au démarrage, se lance après!
 +
* le montage des systèmes de fichiers
 +
* après le support USB
  
Se lance 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à.
  
Au lancement, 'coldplug', c'est à dire hotplug comme si les périphériques étaient branchés à ce moment-là.
+
Fournit par le paquet Debian 'hotplug', ou bien 'udev' (quelle différence?) (udev requiert noyau Linux 2.6).
  
Fournit par le paquet Debian 'hotplug', ou bien 'udev'.
+
Fichiers: cf. man 8 hotplug
  
Fichiers: cf. man 8 hotplug
+
----
  
Que veut dire:
+
Que veut dire ceci?
 
  /etc/hotplug/NAME/DRIVER        driver setup scripts, invoked by agents
 
  /etc/hotplug/NAME/DRIVER        driver setup scripts, invoked by agents
Exemple:
+
Réponse: par exemple:
 
  /etc/hotplug/usb/usb-storage
 
  /etc/hotplug/usb/usb-storage
 
sera appelé si le périphérique qu'on vient de brancher utilise le module noyau 'usb_storage'
 
sera appelé si le périphérique qu'on vient de brancher utilise le module noyau 'usb_storage'
Ligne 22 : Ligne 24 :
  
 
  #!/bin/bash
 
  #!/bin/bash
 
+
 
  #create a script to undo our actions upon removal
 
  #create a script to undo our actions upon removal
 
  if [ "$INTERFACE" = "8/6/80" ]; then
 
  if [ "$INTERFACE" = "8/6/80" ]; then
Ligne 34 : Ligne 36 :
 
     fi
 
     fi
 
  fi
 
  fi
 
+
 
  #!/bin/bash
 
  #!/bin/bash
 
  #DEBUG
 
  #DEBUG
Ligne 44 : Ligne 46 :
 
  #echo "======="
 
  #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 <tt>/usr/share/doc/udev/FAQ.gz</tt>:
 +
<blockquote>
 +
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.
 +
</blockquote>
  
 
== Voir aussi ==
 
== Voir aussi ==
http://kernel.org/pub/linux/utils/kernel/hotplug/udev_vs_devfs : le point sur udev
+
 
http://www.reactivated.net/writing_udev_rules.html
+
* 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.wlug.org.nz/HotPlugNotes : page d'un glug proche de celle-ci

Version actuelle datée du 11 juillet 2010 à 21: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