Linux Mandriva et VMware Tools

Si vous voulez tester des logiciels tournant sous Linux, il est très pratique d’utiliser une machine virtuelle. Plusieurs distributions Linux sont aisées à installer (Red Hat et ses dérivées, Suse, Mandriva, par exemple). La distribution Mandriva (autrefois “Mandrake”) est disponible en plusieurs versions, dont la version “Free”, gratuite, disponible en 32 bits, et très complète. Ce qui suit concerne la version “Free 2010 Spring” avec interface KDE ou Gnome, mais serait aisément adaptable aux autres versions de la distribution Mandriva.
Parmi les logiciels de virtualisation, les solutions de VMware présentent l’avantage de :
- constituer une gamme étendue, allant de solutions gratuites à des environnements professionnels très performants,
- permettre de virtualiser une grande variété de systèmes : presque toutes les versions de Windows, plusieurs distributions de Linux, divers autres systèmes.
Bien sûr, d’autres solutions de virtualisation (Hyper-V de Microsoft, VirtualBox, Xen, par exemple) présentent aussi des avantages indéniables selon les besoins à couvrir.

Avec VMware Workstation, la virtualisation de Mandriva Free 2010 Spring nécessite, comme pour la virtualisation de n’importe quel autre système supporté par VMware, d’installer les VMware Tools. Ce sont les drivers nécessaires à l’utilisation optimale, par le système virtualisé, des matériels (notamment carte graphique et carte Ethernet) simulés par VMware Workstation. Ces matériels simulés ne figurent pas dans les listes de matériels supportés par les systèmes de Microsoft, ou de type Linux, dont l’installation dans une machine virtuelle VMware se rabat alors sur des drivers génériques. Une fois le système virtualisé installé, il faut donc installer ces VMware Tools à partir d’un menu de VMware Workstation.
Ce qui est parfois un peu perturbant, c’est que ces VMware Tools ne s’installent pas de la même manière dans un système virtualisé de type Linux que dans une version de Windows. Dans tous les cas, VMware Workstation monte dans le système virtualisé un CD-Rom virtuel nommé “VMware Tools”, qui contient les drivers. Mais alors que ces drivers s’installent automatiquement sous Windows, ce n’est pas le cas sous Linux : une compilation de ces drivers est nécessaire pour qu’ils puissent être pris en compte par le noyau Linux (appelé kernel), et la diversité potentielle des installations de Linux, même pour une distribution donnée, empêche que ceci soit effectué automatiquement. Cette opération doit être manuelle, comme décrit ci-dessous.

Cette compilation s’effectue en lançant un script Perl présent sur le CD-Rom virtuel contenant les VMware Tools, mais cette compilation nécessite que certains fichiers aient été installés sur la machine virtuelle. Pour ce faire, l’utilisateur a en théorie deux solutions :
- une installation “personnalisée” de Mandriva, avec ces fichiers nécessaires pour cette compilation,
- ou une installation “standard” de Mandriva, suivie d’ajouts manuels de ces fichiers.
Dans les deux cas, l’installation de ces fichiers se fait en utilisant le gestionnaire de paquetages Urpmi (inventé d’ailleurs par Mandrake).
En fait, sélectionner ces fichiers supplémentaires durant une installation personnalisée est assez peu commode. Il faut naviguer dans la hiérarchie des paquetages, sans qu’aucune fonction de recherche de paquetages à partir de leur nom ne soit disponible. C’est pourquoi il est plus facile de procéder à une installation “standard”, suivie d’ajouts manuels : l’interface graphique alors utilisée (voir ci-dessous) offre cette fonction de recherche de paquetages. Ce choix d’ajouts manuels ultérieurs n’empêche évidemment pas de personnaliser tout de même votre installation, si vous avez d’autres paquetages à installer dès ce stade.

Quelles que soient les options choisies durant l’installation, il est prudent dans un premier temps de s’en tenir aux choix effectués par le programme d’installation en matière de driver graphique et de résolution vidéo. Même si votre écran virtuel est alors de dimensions modestes, ce n’est qu’une gêne passagère, le temps d’installer les VMware Tools.

1. Fichiers nécessaires

Les paquetages nécessaires pour cette compilation sont les suivants :
- les fichiers du kernel (headers, notamment) nécessaires à cette compilation. Le nom générique de ce paquetage est “kernel-xxx-devel-nnn”, où xxx est le type (server ou desktop), et nnn le numéro de version du noyau installé dans votre machine virtuelle. Les noms de ces noyaux Linux suivent une numérotation précise, et changent fréquemment.
Pour forger le nom de ce paquetage correspondant au nom précis du noyau utilisé par votre machine virtuelle, il suffit d’ouvrir une console et de taper la commande : echo kernel-`uname –r | cut –d- -f 2`-devel-`uname –r | cut –d- -f 1` .
- gcc : compilateur de source C, et éditeur de liens,
- gcc-c++ : idem, pour le C++,
- glibc-devel : les fichiers header et objet nécessaires pour créer des exécutables en C,
- libstdc++-devel : idem, pour le C++,
- make : exécuteur de commande. Permet de maintenir à jour un ensemble de fichiers (pour une compilation par exemple), en exploitant un fichier “makefile” contenant diverses indications de dépendance,
- patch : permet de patcher un fichier à l’aide d’un autre, contenant les différences constituant ce patch,
- flex : (à ne pas confondre avec le langage d’Adobe…) dérivé du lex d’Unix, flex est un générateur de programmes capables de filtrer un texte.
- bison : dérivé de Yacc, bison est un générateur de programmes capables d’analyser la grammaire d’un texte,
- libncurses-devel : fichiers header et librairies pour programmes utilisant la bibliothèque graphique ncurses.
Ces différents paquetages nécessitent eux-mêmes que d’autres paquetages, dont ils dépendent, soient aussi installés. Mais le gestionnaire de paquetages Urpmi gère ces dépendances, et il suffit de le laisser installer en plus les paquetages qu’il suggère.

L’interface graphique de Urpmi est est accessible par :
- le menu Outils / Outils système/ Configurer votre ordinateur (saisir le mot de passe Administrateur),
- l’item Gestion des logiciels. Puis cliquer sur “Installer et désinstaller des logiciels”.

2. Installation de VMware Tools

Par la commande d’installation (ou de mise à jour) de ces Tools, VMware Workstation monte un CD-Rom virtuel dans la machine virtuelle sous Mandriva. Ce qui suit nécessite de lancer, sous Mandriva, un terminal avec les droits d’administrateur du système (compte “root”). L’interface graphique – KDE ou Gnome – de cette distribution le permet :
- menu Outils / Outils système / Configurer votre ordinateur (saisir le mot de passe Administrateur),
- item Système. Puis cliquer sur “Ouvrir une console administrateur”.

Dans ce terminal :
- si nécessaire, monter manuellement ce CD-Rom : mount /dev/cdrom /media/cdrom
- copier ces Tools dans un répertoire du disque de cette machine virtuelle : cp /media/cdrom/VMwareTools* /tmp/ (cette syntaxe reste valable quelle que soit la version de ces Tools),
- se placer dans ce répertoire : cd /tmp/
- désarchiver ces Tools : tar xvfz VMwareTools*. Ce désarchivage s’effectue dans le sous-répertoire vmware-tools-distrib, automatiquement créé,
- se placer dans ce sous-répertoire : cd vmware-tools-distrib
- lancer le script Perl : ./vmware-install.pl. Ce script pose plusieurs questions à l’utilisateur, à qui il suffit de valider les réponses suggérées par défaut.

3. Prise en compte de ces drivers

Pour la carte Ethernet :
- stopper le service réseau : /etc/init.d/network stop
- décharger du kernel les modules installés lors de l’installation de Mandriva : rmmod pcnet32 et rmmod vmxnet
- charger le module correspondant au driver de VMware : modprobe vmxnet
- démarrer le service réseau : /etc/init.d/network start

Pour la carte vidéo :
- menu Outils / Outils système / Configurer votre ordinateur (saisir le mot de passe Administrateur),
- item Matériel. Puis cliquer sur “Configurer le serveur d’affichage”.

Comme pour la virtualisation de versions de Windows, la combinaison de touches Ctrl-Alt-Entrée permet alors de basculer l’affichage en mode plein écran, avec ajustement automatique de la résolution d’affichage de la machine virtuelle.

Si vous voulez mettre à jour les VMware Tools après un changement de version de VMware Workstation, la procédure est similaire (les fichiers nécessaires à la recompilation du kernel sont déjà installés) :
- montage du CD-Rom virtuel,
- désarchivage et lancement du script Perl,
- prise en compte de ces drivers (cette fois, pas de module pcnet32 à décharger).