Révisé le 23/12/08
Boot iscsi en utilisant le disque physique et non plus l'image: voir rubrique alternative




Avant tout mettons les choses au point, je n'ai rien inventé. Je me suis simplement inspiré de l'excellent article suivant :

http://etherboot.org/wiki/index.php  que j'ai adapté et étendu à mes configs.



  1. Environnement de travail
  2. Machine iscsi-boot
  3. Serveur iscsi
  4. Serveur dhcp
  5. Alternative



Environnement de travail:

Toute l'install est réalisée sur des vmwares tournant sous vmware-server-2.0 sur un host ubuntu-8.0.4-64bits.

Les machines nécessaires à l'install:


Machine iscsi-boot

La machine de base a été installée sur un disque virtuel de 3 Go vierge. Seul le nécessaire a été réalisé: Install de ssh, mise à jour des paquets. Je passe donc les détails.

Au final on a un ceci:

vmiscsi:~# df -hT
Sys. de fich. Type     Tail. Occ. Disp. %Occ. Monté sur
/dev/sda1     ext3    2,8G  583M  2,1G  22% /
tmpfs        tmpfs    126M     0  126M   0% /lib/init/rw
udev         tmpfs     10M   52K   10M   1% /dev
tmpfs        tmpfs    126M     0  126M   0% /dev/shm

vmiscsi:~# swapon -s
Filename                Type        Size    Used    Priority
/dev/sda5                               partition    192740    0    -1

vmiscsi:~# free
             total       used       free     shared    buffers     cached
Mem:        256692      27064     229628          0       2072      12980
-/+ buffers/cache:      12012     244680
Swap:       192740          0     192740

vmiscsi:/# cat /proc/partitions
major minor  #blocks  name

   8     0    3140707 sda
   8     1    2947896 sda1
   8     2          1 sda2
   8     5     192748 sda5


vmiscsi:~# cat /proc/version
Linux version 2.6.18-6-686 (Debian 2.6.18.dfsg.1-23etch1) (dannf@debian.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Fri Dec 12 16:48:28 UTC 2008


Ensuite eh bien j'ai suivi la doc:

Comme le précise l'auteur, le paquet open-iscsi fourni par debian ne contient pas 2 utilitaires nécessaires : iscsistart et fwparam_ibft.

Il va donc falloire les compiler soi-même et les installer dans /usr/sbin et installer également quelques addons.
vmiscsi:~# apt-get install build-essential linux-headers-2.6.18-6-686 iproute
vmiscsi:~# apt-get build-dep open-iscsi
vmiscsi:~# apt-get install libdb4.3-dev

vmiscsi:/usr/local# wget http://www.open-iscsi.org/bits/open-iscsi-2.0-865.13.tar.gz (il y a peut-être d'autres versions mais je confirme
que celle-ci fait parfaitement l'affaire)
vmiscsi:/usr/local# tar xzf open-iscsi-2.0-865.13.tar.gz
vmiscsi:/usr/local# cd open-iscsi-2.0-865.13
vmiscsi:/usr/local/open-iscsi-2.0-865.13# make -C usr
vmiscsi:/usr/local/open-iscsi-2.0-865.13# make -C utils/fwparam_ibft

vmiscsi:/usr/local/open-iscsi-2.0-865.13# cp usr/iscsistart /usr/sbin
vmiscsi:/usr/local/open-iscsi-2.0-865.13# cp utils/fwparam_ibft /usr/sbin


Il faudra ensuite procéder à quelques ajustements dans le fichier /etc/network/interfaces:

vmiscsi:/# cat /etc/network/interfaces | egrep -v '^#'

auto lo eth0
iface lo inet loopback

iface eth0 inet manual

Il faut également s'assurer que le fichier /etc/initramfs-tools/initramfs.conf contient bien la ligne:
BUSYBOX=y

vmiscsi:/# cat /etc/initramfs-tools/initramfs.conf | egrep -v '^#|^$'
MODULES=most
BUSYBOX=y
BOOT=local
DEVICE=eth0
NFSROOT=auto

Il faut ensuite créer 2 scripts nommés arbitrairement iscsi_tcp (chmod 755) dans 2 répertoites précis comme ceci:

/etc/initramfs-tools/hooks/iscsi_tcp copiera les modules kernel iscsi_tcp, iscsi_iser
et leurs dépendances ( /usr/sbin/iscsistart et /usr/sbin/fwparam_ibft ) dans le ramdisk.

vmiscsi:/# cat /etc/initramfs-tools/hooks/iscsi_tcp
#!/bin/sh

set -e

PREREQ=""

prereqs()
{
echo "$PREREQ"
}

case $1 in
prereqs)
prereqs
exit 0
;;
esac

. /usr/share/initramfs-tools/hook-functions

[ -x /usr/sbin/iscsistart ] && copy_exec /usr/sbin/iscsistart /sbin
[ -x /usr/sbin/fwparam_ibft ] && copy_exec /usr/sbin/fwparam_ibft /sbin
[ -x /sbin/ip ] && copy_exec /sbin/ip /sbin
manual_add_modules iscsi_tcp
manual_add_modules ib_iser
# end of file



/etc/initramfs-tools/scripts/local-top/iscsi_tcp est copié dans le ramdisk
et lancé au boot juste avant que le rootfs ne soit monté.
Si celui-ci est un périph scsi, il monte l'interface réseau, assigne l'ip
récupérée par dhcp et connecte le rootfs sur la cible iscsi.


vmiscsi:/# cat /etc/initramfs-tools/scripts/local-top/iscsi_tcp
#!/bin/sh

set -e

PREREQ="udev"

prereqs()
{
echo "$PREREQ"
}

case $1 in
prereqs)
prereqs
exit 0
;;
esac

case $ROOT in
/dev/sd*)
# Evaluate IBFT parameters
for i in $(fwparam_ibft -b); do export $i; done

#Bring up the interface used to boot
for i in $(ls /sys/class/net); do
IFADDR=$(cat /sys/class/net/$i/address)
if [ $IFADDR = $iSCSI_INITIATOR_HWADDR ]; then
echo "Using $i with MAC $IFADDR"
export iSCSI_INITIATOR_IF=$i
fi
done

modprobe -q iscsi_tcp
modprobe -q ib_iser

echo "Bringing up $iSCSI_INITIATOR_IF for iSCSI..."
ip link set $iSCSI_INITIATOR_IF up
echo "Setting up networking on $iSCSI_INITIATOR_IF..."
ip addr add $iSCSI_INITIATOR_IPADDR/$iSCSI_INITIATOR_MASK brd + dev $iSCSI_INITIATOR_IF
ip route add default via $iSCSI_INITIATOR_GATEWAY

echo "Connecting to iSCSI target $iSCSI_TARGET_NAME on $iSCSI_TARGET_IPADDR..."
iscsistart -i $iSCSI_INITIATOR_NAME -t $iSCSI_TARGET_NAME -g 1 -a $iSCSI_TARGET_IPADDR
sleep 5
;;
esac

# end of file


Il faut ensuite mettre à jour le ramdisk.

vmiscsi:/# dpkg-reconfigure linux-image-2.6.18-6.-686


C'est terminé pour cette machine. Je l'arrête proprement puis "débranche" le disque. (Quelques clics sous vmware).
Elle est désormais configurée comme indiquée dans l'image details-vmiscsi de la gallerie

Passons maintenant sur le serveur iscsi.


Serveur iscsi

Je vais maintenant créer une image du disque "démonté" à l'étape précédente sur le serveur iscsi.

Pour cela je le "rebranche" sur la machine devip11 (toujours quelques clics sous vmware). La config matérielle du
serveur iscsi au final est donc visible sur cette image. Lorsque l'image aura été créée je pourrais à nouveau le démonter
voire le supprimer afin de gagner un peu de place sur l'hôte.

Dans vmware l'ajout de disques à chaud se passe bien mais ils ne sont pas automatiquement détectés tant que l'on ne reboote pas
sauf...si on utilise le script magique . j'ajoute un disque de 4 Go destiné à recevoir la copie du disque, lance le script magique,
un petit coup de cfdisk pour créer 1 partition et un petit coup de partprobe, ceci pour ne pas avoir à rebooter.

J'ai donc provisoirement sur cette machine les hard disks suivants:

devip11:/# cat /proc/partitions
major minor #blocks name

8 0 8388608 sda
8 1 7976241 sda1
8 2 1 sda2
8 5 409626 sda5
8 16 2097152 sdb
8 17 489951 sdb1
8 18 489982 sdb2
8 19 489982 sdb3
8 20 626535 sdb4
8 32 4194304 sdc
8 33 4192933 sdc1
8 48 3145728 sdd
8 49 2947896 sdd1
8 50 1 sdd2
8 53 192748 sdd5

devip11:/# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdc1 on /opt type ext3 (rw)


Les periphs sda et sdb sont d'origine, sdc vient d'être ajouté, sdd est le disque provenant de vmiscsi.

Je récupère les infos de sdd:

devip11:/usr/local/bin# fdisk -l /dev/sdd

Disk /dev/sdd: 3221 MB, 3221225472 bytes
255 heads, 63 sectors/track, 391 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdd1 * 1 367 2947896 83 Linux
/dev/sdd2 368 391 192780 5 Extended
/dev/sdd5 368 391 192748+ 82 Linux swap / Solaris

Et je procède à la création du fichier image:

devip11:~# dd if=/dev/sdd of=/opt/iscsiboot.img bs=8225280 count=391
391+0 enregistrements lus
391+0 enregistrements écrits
3216084480 octets (3,2 GB) copiés, 93,0107 seconde, 34,6 MB/s


Une petite vérif:

devip11:/# file /opt/iscsiboot.img
/opt/iscsiboot.img: x86 boot sector; partition 1: ID=0x83, active, starthead 1, startsector 63, 5895792 sectors;
 partition 2: ID=0x5, starthead 0, startsector 5895855, 385560 sectors, code offset 0x48


Je modifie ensuite le fichier /etc/ietd.conf (fichier de configuration de iscsitarget) comme ceci:

devip11:/# cat /etc/ietd.conf | egrep -v '^(.*)#|^$'
Target iqn.2001-04.caen.net:storage.sdb4
Lun 0 Path=/dev/sdb4,Type=fileio
MaxRecvDataSegmentLength 65536
MaxXmitDataSegmentLength 65536
Target iqn.2001-04.caen.net:storage.sdc
Lun 0 Path=/opt/iscsiboot.img,Type=fileio
MaxRecvDataSegmentLength 65536
MaxXmitDataSegmentLength 65536


La target iqn.2001-04.caen.net:storage.sdb4 est utilisé par d'autres machines sur le réseau sans aucun rapport.

La target iqn.2001-04.caen.net:storage.sdc sera donc celle utilisée pour le boot de vmiscsi.

Pour infos les process tournant sur cette machine en fonctionnement

On passe maintenant au serveur dhcp/atftp

Serveur dhcp/atfp

deb24mod:/# cat /proc/version
Linux version 2.6.22-3-686 (Debian 2.6.22-6~bpo40+1) (nobse@backports.org) (gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #1 SMP Tue Dec 4 02:25:59 UTC 2007


deb24mod:/# ip addr ls eth3
2: eth3: <BROADCAST,MULTICAST,UP,10000> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 00:0c:29:9b:b8:9d brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.42/24 brd 192.168.0.255 scope global eth3
    inet6 fe80::20c:29ff:fe9b:b89d/64 scope link
       valid_lft forever preferred_lft forever

Oui je sais c'est eth3, pas eu le temps de rebricoler udev pour qu'il me rétablisse eth0. Petite remarque tout de même, dans ce cas il faut faire gaffe
à bien paramétrer le fichier suivant:

deb24mod:/# cat /etc/default/dhcp3-server
INTERFACES="eth3"


deb24mod:/# netstat -tpanu
Connexions Internet actives (serveurs et établies)
Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        PID/Program name  
tcp        0      0 192.168.0.42:9999       0.0.0.0:*               LISTEN     3769/python        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN     2006/portmap       
tcp        0      0 192.168.0.42:36558      192.168.0.83:22         ESTABLISHED13490/ssh          
tcp6       0      0 :::22                   :::*                    LISTEN     2299/sshd          
tcp6       0      0 ::ffff:192.168.0.42:22  ::ffff:192.168.0.:45672 ESTABLISHED6306/1             
udp        0      0 0.0.0.0:67              0.0.0.0:*                          13469/dhcpd3       
udp        0      0 0.0.0.0:69              0.0.0.0:*                          13428/atftpd       
udp        0      0 0.0.0.0:111             0.0.0.0:*                          2006/portmap   

On constate bien que dhcp et atftp sont actifs.

Le fichier de conf du serveur atftpd est le suivant:

deb24mod:/# cat /etc/default/atftpd
USE_INETD=false
OPTIONS="--daemon --port 69 --tftpd-timeout 300 --retry-timeout 5   --no-multicast --maxthread 100 --verbose=9 --trace --logfile=/var/log/atftpd.log  /tftpboot"


Le fichier de configuration du serveur dhcp est le suivant:

deb24mod:/# cat /etc/dhcp3/dhcpd.conf
ddns-update-style none;
option domain-name "net.caen";
option domain-name-servers ns.net.caen, p733.net.caen;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
allow booting;
allow bootp;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.245 192.168.0.248;
  server-name "deb24mod.net.caen";
  next-server 192.168.0.42;
  option domain-name-servers ns.net.caen, p733.net.caen;
  option domain-name "net.caen";
  option routers 192.168.0.254;
  option broadcast-address 192.168.0.255;
  default-lease-time 600;
  max-lease-time 7200;
}

option space gpxe;
  option gpxe-encap-opts code 175 = encapsulate gpxe;
  option gpxe.bus-id code 177 = string;
 
  if not exists gpxe.bus-id {
      filename "undionly.kpxe";
  }

host vmiscsi {
               allow booting;
               hardware ethernet 00:0C:29:42:2B:0C;
               fixed-address 192.168.0.83;
               option root-path "iscsi:192.168.0.11::::iqn.2001-04.caen.net:storage.sdc";
}

# end of file


L'adresse MAC de la carte réseau est visible dès le boot. Il suffit de l'adapter à votre config.
Le root-path est la valeur indiquée dans le fichier ietd.conf du serveur iscsi.


Seules les 2 dernières sections nous intéressent dans le cas présent: on voit en effet que j'ai du installer gPXE comme l'indique d'ailleurs l'auteur sur le wiki.
En effet les cartes réseaux intégrées dans vmware ne permettent pas de booter en iscsi.

deb24mod:/usr/local# wget http://kernel.org/pub/software/utils/boot/gpxe/gpxe-0.9.6.tar.gz

deb24mod:/usr/local# tar zxvf gpxe-0.9.6.tar.gz && mv gpxe-0.9.6.tar.gz src && cd gpxe-0.9.6

Compil du soft

deb24mod:/usr/local/gpxe-0.9.6# make

Copie de l'image
deb24mod:/usr/local/gpxe-0.9.6# cp bin/undionly.kpxe /tftpboot/

Il faut redémarrer ensuite le serveur dhcp pour la prise en compte des modifs.

Il ne reste plus qu'à booter la machine diskless qui va monter son disque via iscsi.

La suite en images.

Quelques logs lors des connections entre machines

Le dmesg de la machine vmiscsi

Alternative

En écrivant ce billet je me disais qu'il doit être possible également de booter directement depuis le disque physique (toujours en iscsi) provenant
de la machine vmiscsi. Et c'est donc chose faite depuis quelques minutes.

Plutôt que d'utiliser l'image  iscsiboot.img créé depuis le disque dur d'origine de la machine vmiscsi, il est tout à fait possible d'utiliser ce disque dur
via iscsi.

Il suffira de modifier quelques paramètres sur le serveur iscsi et sur le serveur dhcp comme ceci:

Serveur iscsi devip11

devip11:/etc# cat /proc/partitions
major minor  #blocks  name

   8     0    8388608 sda
   8     1    7976241 sda1
   8     2          1 sda2
   8     5     409626 sda5
   8    16    2097152 sdb
   8    17     489951 sdb1
   8    18     489982 sdb2
   8    19     489982 sdb3
   8    20     626535 sdb4
   8    32    4194304 sdc
   8    33    4192933 sdc1
   8    48    3145728 sdd
   8    49    2947896 sdd1
   8    50          1 sdd2
   8    53     192748 sdd5

Rappel:
* /dev/sda est le disque root du serveur iscsi
* /dev/sdb est un autre disque du serveur iscsi

* /dev/sdc est un troisieme disque du serveur iscsi sur lequel est stockée l'image de /dev/sdd créée précédemment dans sa partition sdc1

devip11:/etc# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdc1 on /opt type ext3 (rw)

devip11:/etc# ll /opt
total 3143804
drwxr-xr-x  3 root root       4096 2008-12-21 13:06 .
drwxr-xr-x 22 root root       4096 2008-12-20 16:35 ..
-rw-r--r--  1 root root 3216084480 2008-12-21 18:48 iscsiboot.img
drwx------  2 root root      16384 2008-12-21 13:04 lost+found

* Et enfin /dev/sdd est le disque sur lequel avait été réalisée l'install de la machine vmiscsi.

Je déclare simplement celui-ci dans le fichier ietd.conf APRES avoir arrêté les services iscsitarget ( /etc/init.d/iscsi-target stop )
puis je redémarre et vérifie:

devip11:/etc# cat ietd.conf

Target iqn.2001-04.caen.net:storage.sdb4
    Lun 0 Path=/dev/sdb4,Type=fileio
    MaxRecvDataSegmentLength 65536
    MaxXmitDataSegmentLength 65536

Target iqn.2001-04.caen.net:storage.sdc
        Lun 0 Path=/opt/iscsiboot.img,Type=fileio
        MaxRecvDataSegmentLength 65536
        MaxXmitDataSegmentLength 65536

Target iqn.2001-04.caen.net:storage.sddhard
        Lun 0 Path=/dev/sdd,Type=fileio
        MaxRecvDataSegmentLength 65536
        MaxXmitDataSegmentLength 65536

# end of file


devip11:/etc# ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:02 init [2] 
 ........  etc...
 1606 ?        S<s    0:00 udevd --daemon
 .......  etc....
 2819 tty6     Ss+    0:00 /sbin/getty 38400 tty6
 2833 tty1     S+     0:00 -bash
 2858 ?        S<     0:01 [kjournald]
 3040 ?        Ss     0:01 sshd: root@pts/0
 3042 pts/0    Ss     0:00 -bash
 3064 ?        Ss     0:00 /usr/sbin/ietd
 3065 ?        S<     0:00 [istd1]
 3066 ?        S<     0:00 [istiod1]
 3067 ?        S<     0:00 [istiod1]
 3068 ?        S<     0:00 [istiod1]
 3069 ?        S<     0:00 [istiod1]
 3070 ?        S<     0:00 [istiod1]
 3071 ?        S<     0:00 [istiod1]
 3072 ?        S<     0:00 [istiod1]
 3073 ?        S<     0:00 [istiod1]
 3074 ?        S<     0:00 [istd2]
 3075 ?        S<     0:00 [istiod2]
 3076 ?        S<     0:00 [istiod2]
 3077 ?        S<     0:00 [istiod2]
 3078 ?        S<     0:00 [istiod2]
 3079 ?        S<     0:00 [istiod2]
 3080 ?        S<     0:00 [istiod2]
 3081 ?        S<     0:00 [istiod2]
 3082 ?        S<     0:00 [istiod2]
 3083 ?        S<     0:06 [istd3]
 3084 ?        S<     0:00 [istiod3]
 3085 ?        S<     0:00 [istiod3]
 3086 ?        S<     0:00 [istiod3]
 3087 ?        S<     0:00 [istiod3]
 3088 ?        S<     0:00 [istiod3]
 3089 ?        S<     0:00 [istiod3]
 3090 ?        S<     0:00 [istiod3]
 3091 ?        S<     0:00 [istiod3]
 3097 pts/0    R+     0:00 ps ax

J'ai bien 3 périphs disponibles via iscsi.


Serveur dhcp deb24mod

Sur le serveur dhcp il suffit de modifier le fichier: /etc/dhcp3/dhcpd.conf et de relancer le service dhcp.

deb24mod:/etc/dhcp3# diff dhcpd.conf dhcpd.conf.old
40c40
<                option root-path "iscsi:192.168.0.11::::iqn.2001-04.caen.net:storage.sddhard";
---
>                option root-path "iscsi:192.168.0.11::::iqn.2001-04.caen.net:storage.sdc";


iqn.2001-04.caen.net:storage.sddhard est la nouvelle target que j'ai déclaré sur le serveur iscsi comme vu ci-dessus.

Je ne refais pas les copies d'écrans ce cont les mêmes mais je confirme que cela fonctionne tout aussi bien.

vmiscsi:~# mount
/dev/sda1 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)

vmiscsi:~# free
             total       used       free     shared    buffers     cached
Mem:        256692      65292     191400          0       2364      50592
-/+ buffers/cache:      12336     244356
Swap:       192740          0     192740


Le dmesg correspondant au boot sur disque iscsi physique est ici : fichier dmesg.2

Le dmesg précédent correspondant donc au boot sur iscsi image est ici : fichier dmesg





srvweb:/....../blog/docext/iscsiboot# diff dmesg dmesg.2
Detected 2466.310 MHz processor.                  |    Detected 2466.259 MHz processor.
Calibrating delay using timer specific routine.. 4939.58 Bogo |    Calibrating delay using timer specific routine.. 4939.96 Bogo
Calibrating delay using timer specific routine.. 4936.56 Bogo |    Calibrating delay using timer specific routine.. 4935.49 Bogo
Total of 2 processors activated (9876.14 BogoMIPS).             |    Total of 2 processors activated (9875.45 BogoMIPS).
migration_cost=124                                                             |    migration_cost=0
audit(1229880419.184:1): initialized                                   |    audit(1230034446.228:1): initialized
ACPI: (supports S0 S1 S4 S5)                      <
                                  >    ACPI: (supports S0 S1 S4 S5)
SCSI device sda: 6281415 512-byte hdwr sectors (3216 MB)      |    SCSI device sda: 6291456 512-byte hdwr sectors (3221 MB)
SCSI device sda: 6281415 512-byte hdwr sectors (3216 MB)      |    SCSI device sda: 6291456 512-byte hdwr sectors (3221 MB)
piix4_smbus 0000:00:07.3: Found 0000:00:07.3 device            |    pci_hotplug: PCI Hot Plug PCI Core version: 0.5
piix4_smbus 0000:00:07.3: Host SMBus controller not enabled!  |    shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
pci_hotplug: PCI Hot Plug PCI Core version: 0.5                           |    piix4_smbus 0000:00:07.3: Found 0000:00:07.3 device
shpchp: Standard Hot Plug PCI Controller Driver version: 0.4        |    piix4_smbus 0000:00:07.3: Host SMBus controller not enabled!
input: PC Speaker as /class/input/input1              <
                                  >    input: ImPS/2 Generic Wheel Mouse as /class/input/input1
                                  >    input: PC Speaker as /class/input/input2
input: ImPS/2 Generic Wheel Mouse as /class/input/input2      <

On constate qu'il n'y a que très peu de différences.