Vor einiger Zeit wurde ich genötigt die VMware tools auf einem FreeBSD Gast, der Teil eines ESXi bare-metal Hypervisors ist, zu installieren. Der erste naive Versuch, das Image zu mounten und die Installation anzustoßen, schlug natürlich gnadenlos fehl. Danach begann die Suche nach einer Lösung, die nach einer gefühlten Ewigkeit und mehreren kläglichen Versuchen dann doch noch zum Erfolg führte.

Da diese Lösung jedoch sehr gut versteckt ist, im großen weiten Netz, dachte ich mir ich mache es zukünftigen Leidensgenossen etwas leichter und erzähle hier ein wenig davon:
Hinweis: Die folgende Anleitung basiert auf einer 64bit Architektur!
Das initiale Problem war nicht die eigentliche Installation bzw. Konfiguration der tools, sondern der Start selbiger. Denn hierzu wird eine sogenannte “Kompatibilitätsschicht” benötigt:
$ pkg_add -r compat6x-amd64
Sie zu installieren reicht jedoch noch nicht, da einige Bibliotheken nicht dort landen wo die tools sie erwarten:
$ ln -s /usr/local/lib/compat/libm.so.4 /lib
$ ln -s /usr/local/lib/compat/libc.so.6 /lib
$ ln -s /usr/local/lib/compat/libthr.so.2 /lib
$ ln -s /usr/local/lib/compat/libm.so.4 /usr/local/lib
$ ln -s /usr/local/lib/compat/libc.so.6 /usr/local/lib
$ ln -s /usr/local/lib/compat/libthr.so.2 /usr/local/lib
$ ln -s /usr/local/lib/compat/libkvm.so.3 /usr/local/lib

Ist das erledigt, kann die Installation der tools angestoßen werden. Falls das Image noch nicht gemountet ist, sollte dies nun getan werden:
$ cd /mnt
$ mkdir cdrom
$ mount –t cd9660 /dev/acd0 /mnt/cdrom

Um die tools installieren zu können, muss das Installations-Paket vom Image lokal entpackt werden:
$ cd /tmp
$ tar zxvf /mnt/cdrom/<vmware-freebsd-tools-archiv> (Den Pfad bitte der
Situation entsprechend erweitern.)
$ cd <das-entpackte-verzeichnis>

Nun kann es mit der Installation losgehen: (Der -d Schalter beantwortet alle möglicherweise auftretenden Nachfragen mit den jeweiligen Vorgaben.)
$ ./vmware-install.pl -d (Dies startet ebenfalls das Konfigurations-Skript: /usr/local/bin/vmware-config-tools.pl)
Sollte alles glatt gelaufen sein, ist es empfehlenswert das System neu zu starten. Unter Umständen kann es jedoch sein, dass die tools nicht automatisch während des System-Starts starten. Eine korrekte Erklärung für dieses Problem bleibe ich euch an dieser Stelle schuldig, da die tools augenscheinlich keine Probleme bei einem manuellen Start (Start-Skript: /usr/local/etc/rc.d/vmware-tools.sh) machen und ich mir beim besten Willen nicht erklären kann, warum sie es nicht nach einem Neustart des Systems tun bzw. warum die nun folgenden Schritte einer möglichen Lösung entsprechen:
Schlägt der Start der tools einmal fehl, erstellt das Start-Skript eine Datei (/etc/vmware-tools/not_configured), um zu signalisieren, dass die tools noch konfiguriert werden müssten. Wurden sie jedoch schon konfiguriert, kann dieses Verhalten sehr schnell sehr nervig werden und eine Löschung dieser Datei ist nur eine temporäre Umgehung.
Ist man sich sicher, dass die tools tatsächlich erfolgreich manuell gestartet werden können und dies auch vom Hypervisor erkannt wird, ist es möglich das Start-Skript anzupassen und die entsprechenden Anweisungen, die für die Erstellung der Datei verantwortlich sind, zu deaktivieren. Öffnet dieses Skript (/usr/local/etc/rc.d/vmware-tools.sh) und kommentiert alle “touch”-Anweisungen aus, die diese Datei betreffen.
Voilà, die tools starten beim System-Start. Have fun 🙂

Johannes Meyer
Johannes Meyer
Developer

Johannes ist seit 2011 bei uns und hilft bei der Entwicklung zukünftiger Knüller (Icinga2, Icinga Web 2, ...) aus dem Hause NETWAYS.