Installing VMware Server on Gentoo Linux (Version 2)
VMWare is going to replace its GSX Server product with the new VMware Server. And it's going to be more than just a new name: 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
Paul de Vrieze setup a Subversion repository of the VMware Server ebuild and Mike committed to using it. So from now on I recommend that you stick with that repository instead of downloading the Bugzilla attachments. Assuming that your portage overlay is in /usr/local/portage:
# mkdir -p /usr/local/portage # cd /usr/local/portage # wget --recursive --no-host-directories --cut-dirs=3 --no-parent --reject=index.html http://callisto.cs.kun.nl:81/svn/trees/vmware/
Alternatively, you might also use svn
provided that Subversion is installed on your machine. If you like you could install it using
# emerge subversion
To get a working copy of the ebuild
# mkdir -p /usr/local/portage # cd /usr/local/portage # svn co http://callisto.cs.kun.nl:81/svn/trees/vmware/app-emulation
The advantage of using Subversion's svn utility is that you can easily check for updates using
# cd /usr/local/portage/app-emulation # svn up
Prepare Your System
Follow the directions in HOWTO Installing 3rd Party Ebuilds in order to setup your Portage overlay. The directory layout should like as follows:
# 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 1 VMware-mui-e.x.p-20925.tar.gz 3 VMware-server-e.x.p-20925.tar.gz 3 files vmware-server-1.0.0.20925.ebuild /usr/local/portage/app-emulation/vmware-server/files: 90vmware-server digest-vmware-server-1.0.0.20925 2 vmware-server-1.0.0.20925-config.patch vmware-server-1.0.0.20925-config2.patch vmware-server-1.0.0.20925-config3.patch vmware-server-1.0.0.20925-config4.patch vmware-server-1.0.0.20925-services.patch vmware-server-1.0.0.20925-vmware-authd-amd64 vmware-server-1.0.0.20925-vmware-authd-x86 vmware.rc vmware.xml /usr/local/portage/app-emulation/vmware-server-console: Manifest 1 files vmware-server-console-1.0.0.20925.ebuild /usr/local/portage/app-emulation/vmware-server-console/files: 99vmware-console digest-vmware-server-console-1.0.0.20925 2 /usr/local/portage/app-emulation/vmware-server-modules: Manifest 1 files vmware-server-modules-1.0.0.20925.ebuild /usr/local/portage/app-emulation/vmware-server-modules/files: digest-vmware-server-modules-1.0.0.20925 2 vmware-server-modules-1.0.0.20925-makefile.patch
1 The Manifest
files can be downloaded from the Subversion repository but they don't exist, they will be generated on-the-fly when you execute the ebuild … digest
command as described in the above Gentoo article.
2 The digest-…
files will be generated when you execute the ebuild … digest
command as described in the above Gentoo article.
3 The source tarballs will be downloaded 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 ~amd64
.
app-emulation/vmware-server ~amd64 app-emulation/vmware-server-modules ~amd64 app-emulation/vmware-server-console ~amd64
I recommend not using the emerge --digest
method mentioned in the Howto. Instead, generate the digests using ebuild
. That way you can install the ebuilds just like any other Gentoo package. To generate the digests, run
# ebuild /usr/local/portage/app-emulation/vmware-server/ vmware-server-1.0.0.22088.ebuild digest # ebuild /usr/local/portage/app-emulation/vmware-server-console/ vmware-server-console-1.0.0.22088.ebuild digest # ebuild /usr/local/portage/app-emulation/vmware-server-modules/ vmware-server-modules-1.0.0.22088.ebuild digest
Note that the actual version numbers in the above file names will most likely have changed by the time you read this. Once the digests are generated, the ebuilds will be ready for installation.
Installation
# 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
# /opt/vmware/server/bin/vmware-config.pl
If all goes well, the VMware daemons will be started.
XInetd Configuration
Follow the ebuild's post installation and add a only_from
statement to /etc/xinetd.d/vmware-authd
, for example
only_from = 192.168.0.0/24
VMware Console
The VMware Console can be installed using
# emerge -a vmware-server-console
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 but rather with the fact that I used an earlier version of the ebuild which required a non-stable version of glibc (2.3.6). More recent version of the ebuild do not have that requirement anymore.
Stay Up-To-Date
Let's hear what Mike has to say about that:
Since I'm not doing revision bumps they'll have to manually re-emerge the vmware packages to see the updates, if they'd like to help test the installation procedures. Also for anyone that missed it, I am now exclusively updating the subversion repository and the attachments to this bug are no longer being updated. Any updates I make to the repository however, I will post mention of here.
This means that you should check the above Bugzillla bug and read the comments. Once a new version will be announced, you need to update your portage overlay using either wget
or svn up
as described above and then re-emerge the packages. Hopefully it won't take too long for this ebuild to be accepted by the Gentoo folks.