VMware Player : Problème de compilation des modules réseaux

Sous certaines distributions dont le noyau est récent (exemple Debian WHEEZY) la compilation du module réseau de VMPlayer, vmnet, échoue. Ce problème vient du fait que les fonctions BLK (big kernel lock), « lock_kernel » et « unlock_kernel », ont disparu à la faveur de « lock_flocks » et de « unlock_flocks ».

Pour corriger le problème, éditez les sources du driver. En « root » cela donne quelque chose du type :

10:02:24 mafalda ~ # cd /usr/lib/vmware/modules/source
10:02:31 mafalda source # cp -a vmnet.tar vmnet.tar.old
10:02:46 mafalda source # tar xvf vmnet.tar
...
10:03:08 mafalda source # vi vmnet-only/driver.c

Dans le fichier driver.c, remplacez les instructions incorrectes :

...
267 // lock_kernel();
268    lock_flocks();
...
272 // unlock_kernel();
273    unlock_flocks();
...
1139 // lock_kernel();
1140    lock_flocks();
...
1142 // unlock_kernel();
1143    unlock_flocks();
...

Re créez l’archive :

10:05:07 mafalda source # rm vmnet.tar
10:05:16 mafalda source # tar uvf vmnet.tar vmnet-only/

Lancez la compilation des modules :

10:06:02 mafalda source # vmware-modconfig --console --install-all
...

Références

VMware Community : vmplayer wont compile on 2.6.38-2-amd64 (http://communities.vmware.com/thread/310035?tstart=30).

2 réflexions au sujet de « VMware Player : Problème de compilation des modules réseaux »

  1. Je vous remercie pour vos articles très intéressants.
    En fait je suis débutante et j’ai un petit projet de virtualisation avec KVM sous Debian.
    Jai installé KVM,virt-manager et crée une VM Windows 7. Mais le problème c’est que je n’arrive pas à installer une clé USB sur la vm.
    J’ai essayé par Virt-manager, mj’ai édité le fichier xml de la vm rien à faire.

    est-ce que vous pouvez m’aider?

    1. KVM et les périphériques de stockage USB… Que les puristes me pardonnent les raccourcis…
      Branchez votre clé USB sur la machine puis trouver son ID via « lsusb » :

      fhh@mafalda ~ $ lsusb
      Bus 001 Device 004: ID 1058:0740 Western Digital Technologies, Inc. My Passport 1TB
      ...

      ici l’ID est « 1058:0740 ».

      Si vous lancez KVM en tant qu’utilisateur simple, adapter les droits sur le périphérique (chemin : « /dev/bus/usb/N° du bus/N° du device » avec « N° du bus » et N° du device » récupéré sur la sortie d’lsusb). En root (ou via sudo) :

      mafalda ~ # chown :kvm /dev/bus/usb/001/004

      Enfin lancer la machine virtuelle en spécifiant l’ID du périphérique USB à attacher :

      kvm disque_de_la_machine_virtuelle_a_demarrer.qcow2 -usbdevice host:1058:0740 (autres options)

      (en passant, cette question aurait plutôt trouvé sa place sur les articles KVM 😉 )

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *