Installing VMware Server on Gentoo Linux (Version 1)
VMware Server is going to replace GSX server. The best thing about it is that VMware releases it free of charge. Being still in beta testing, there are currently no stable ebuilds available for it on Gentoo Linux. Fortunately, Mike Auty is working on one and he is doing a fine job. You should keep track of his progress on Gentoo Bugzilla bug #122500. For people with little Portage experience (author included) it can be a bit complicated to throw together an ebuild from bugzilla attachments.Here's what I did.
Download Ebuilds And Auxillary Files
Download all attachments from Gentoo Bugzilla bug #122500. I used the wget utility and I had to specify the name of the output file using
-O. For example,
wget -O 90vmware-server http://bugs.gentoo.org/attachment.cgi?id=79529
Make sure you use the correct output file name. It should not include the
vmware-server ... auxiliary file - part.
Prepare Your System
Follow the directions in HOWTO Installing 3rd Party Ebuilds in order to setup your own Portage overlay and drop the downloaded files into your overlay. I used the following layout:
# ls -R1 /usr/local/portage /usr/local/portage: app-emulation /usr/local/portage/app-emulation: vmware-server vmware-server-console vmware-server-modules /usr/local/portage/app-emulation/vmware-server: Manifest VMware-mui-e.x.p-20925.tar.gz VMware-server-e.x.p-20925.tar.gz files vmware-server-184.108.40.20625.ebuild /usr/local/portage/app-emulation/vmware-server/files: 90vmware-server digest-vmware-server-220.127.116.1125 vmware-server-18.104.22.16825-config.patch vmware-server-22.214.171.12425-config2.patch vmware-server-126.96.36.19925-config3.patch vmware-server-188.8.131.5225-config4.patch vmware-server-184.108.40.20625-services.patch vmware-server-220.127.116.1125-vmware-authd-amd64 vmware-server-18.104.22.16825-vmware-authd-x86 vmware.rc vmware.xml /usr/local/portage/app-emulation/vmware-server-console: Manifest files vmware-server-console-22.214.171.12425.ebuild /usr/local/portage/app-emulation/vmware-server-console/files: 99vmware-console digest-vmware-server-console-126.96.36.19925 /usr/local/portage/app-emulation/vmware-server-modules: Manifest files vmware-server-modules-188.8.131.5225.ebuild /usr/local/portage/app-emulation/vmware-server-modules/files: digest-vmware-server-modules-184.108.40.20625 vmware-server-modules-220.127.116.1125-makefile.patch
digest-… files will be generated when you execute the
ebuild … digest command as described in the above Gentoo article.
Add the following lines to /etc/portage/package.keywords. Depending on your machine's architecture, you might need to use
~x86 instead of
app-emulation/vmware-server ~amd64 app-emulation/vmware-server-modules ~amd64 app-emulation/vmware-server-console ~amd64
The VMware Server ebuild depends on glibc 2.3.6 which is not yet stable for amd64. I had to unmask it by adding
=sys-libs/glibc-2.3.6-r3 ~amd64 =sys-libs/timezone-data-2006a ~amd64
and feeling uncomfortable doing it. Anyhow, now it's time to install.
# emerge -a vmware-server
Obviously, this is the most crucial part. On my machine numerous rpath error messsages were displayed but these didn't seem to cause trouble. Note that VMware Server depends on xinetd. The default configuration of xinetd on Gentoo is empty but it doesn't hurt double checking that it didn't enable any unwanted services. Next, run
If all goes well the VMware daemons will be started.
The ebuild's post installation notes say something about modifying /etc/xinetd.conf to allow incoming connections from other hosts besides localhost (the sensible default). Don't touch that file as changing it would affect all other xinetd applications. Instead, modify
/etc/xinetd.d/vmware-authd and add a
only_from statement, for example
only_from = 192.168.0.0/24
The VMware Console can be installed using
emerge -a vmware-server-console
The ebuild uses the unzip program but does not properly declare the dependency. You might have to emerge unzip:
emerge -a app-arch/unzip
VMWare Console Doesn't Connect
I had problems connecting the console to the server. The /var/log/vmware/vmware-serverd.log contained
app| SSL: Unknown SSL Error app| SSL Error: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number app| vmdbPipe_Streams: Couldn't read
When I examined a packet dump of the communication between server and console, ethereal reported a malformed SSL packet. The packet contained an error message in clear-text complaining about an MDNS entry in /etc/host.conf. When I removed that entry the problem was fixed. This is rather odd and I am quite sure it has nothing to do with VMware. Nevertheless, it is not very comforting to see clear-text error messages in an encrypted SSL stream.