JusteGeek

VMWare Workstation 9 et Kernel 3.8

Avoir un noyau récent, c'est bien, mais cela peut poser des soucis... Et notamment entre VMware Workstation 9 et les noyaux récents (3.8...). En effet, en passant en mon Desktop en Ubuntu 13.04, je me suis confronté à un problème de VMware Workstation qui ne voulait plus se lancer... J'avais résolu le problème. Puis plus récemment, il y a genre 15 jours, nouvelle mise à jour de mon noyau, et hop, de nouveau un Workstation 9 qui refuse de se lancer. J'ai donc reperdu un peu de temps pour remettre ça bien... Et ce matin, j'allume mon PC, et mise à jour du noyau hier soir, VMware Workstaation 9 ne se lance plus à nouveau ... Evidemment, j'avais pas noté les manip' les fois précedentes de sorte que j'ai perdu un peu de temps à réparer le problème une nouvelle fois.

 

Du coup, je me dis que cette fois, je vais mettre ici un petit "tuto" sur ce qui m'a débloqué, histoire de ne pas reperdre 1 heure lors des prochaines mises à jour de noyau.

 

1. Composants nécessaires pour Workstation

Ce paragraphe s'applique pas au cas d'une mise à jour, mais d'une nouvelle installation de VMware Workstation sur une nouvelle machine. Pour pouvoir fonctionner, il convient d'installer certains composants :

 

sudo apt-get install open-vm-tools open-vm-tools-dev open-vm-dkms open-vm-toolbox open-vm-tools-dev

 

2. Kernel-Headers manquants

Suite à la mise à jour du kernel, au lancement de Workstation, j'ai eu droit à un beau message pour me dire que les entêtes de kernel (kernel headers) n'étaient pas installés pour mon nouveau noyau. 

La première chose à faire est donc d'installer les entêtes de Kernel. Pour ce faire, il suffit de taper dans un terminal :

 sudo apt-get install linux-headers-3.8.0-31-generic

 

Remplacez bien sur le linux-headers-3.8.0-31-generic par la version du noyau que vous utilisez (la version est précisée dans le message d'erreur de Workstation).

L'installation des entêtes de Kernel n'est cependant pas suffisante. Il faut ensuite créer des liens symboliques :

sudo ln -s /usr/src/linux-headers-3.8.0-31-generic/include/generated/uapi/linux/version.h /usr/src/linux-headers-3.8.0-31-generic/include/linux/version.h

cd /lib/modules/$(uname -r)/build/include/linux 

sudo ln -s ../generated/utsrelease.h 

sudo ln -s ../generated/autoconf.h 

 

Ensuite, une petite commande pour relancer la config, et là, soit ça marche, soit, ça marche pas.

sudo vmware-modconfig --console --install-all

Si tout marche, c'est cool, mais pour ma part j'ai été confronté à un autre problème.... Lorsque l'on entre la dernière commande, vmware recompile des modules. Et dans mon cas le module vmci ne voulait pas se compiler. Et en cherchant sur le net, j'ai trouvé un petit patch permettant de résoudre le problème.

Pour appliquer ce patch, ouvrez un terminal et suivez les étapes suivantes :

Télécharger le patch :

cd ~

wget https://www.justegeek.fr/dl/vmware-vmci.patch

Puis on patch le module vmci :

cd /usr/lib/vmware/modules/source/
sudo tar xf vmci.tar
cd vmci-only/
sudo patch -p1 < ~/vmware-vmci.patch
cd ..
sudo tar cf vmci.tar vmci-only

 

Une fois le module vmci patché, un petit coup de reconfiguration, cette fois sans erreur, et le tour est joué :

sudo vmware-modconfig --console --install-all

Et pour les curieux qui se demandent à quoi peut bien correspondre ce module vmci, sans rentrer dans les détails, disons que ce module permet n dialogue rapide entre l'hôte et la machine virtuelle, ou entre deux machines virtuelles situées sur le même hôte. Pour plus d'infos sur le sujet : site de vmware.

 

Quitter la version mobile