VMWare on Debian Unstable
In the past week I've been doing some work on the MongoDB PHP Driver, and while running the test cases I noticed that there are some issues with it when you run out of disk space. It's sadly hard to reproduce so I set out to create a VMWare image for the MongoDB developers to reproduce this issue.
Compiling the kernel modules
However, since a while my VMWare install had some issues I decided to re-install it. I'm on Debian unstable with kernel 2.6.32 and on this platform the VMWare 2.0.2 distribution has issues with compiling the VMWare kernel modules during the vmware-config.pl
stage.
In order to address this, I had to do the things below. Please note that I've installed VMWare into /usr/local
instead of the default /usr
, so adjust the paths accordingly. The steps are (as root):
cd /tmp wget http://derickrethans.nl/files/vmware-server.2.0.1_x64-modules-2.6.30.4-fix.patch wget http://derickrethans.nl/files/vmware-7.0-2.6.32.patch mkdir tmp-vmware-modules cd tmp-vmware-modules cp /usr/local/lib/vmware/modules/source/*.tar . for i in *tar; do tar xvf $i; done for i in *tar; do mv $i old-$i; done patch -p0 < /tmp/vmware-server.2.0.1_x64-modules-2.6.30.4-fix.patch patch -p1 < /tmp/vmware-7.0-2.6.32.patch for i in *only; do j=`echo $i | sed 's/-only//'`; tar cvf $j.tar $i; done cp *.tar /usr/local/lib/vmware/modules/source vmware-config.pl
The first patch I found on the VMWare communities site (do not use the vmware-server.2.0.1_x64-modules-2.6.30-fix.sh
file that's listed there!). The second patch I found at http://communities.vmware.com/message/1401588 (again, do not use the patch-modules.sh
script).
VMWare Web Access
With this, I could get VMWare started, but unfortunately the web access interface through http://192.168.42.34:8333 gave as error "503 Service Unavailable Error". After a bit looking around, I found out that this is caused by IPv4/IPv6 compatibility issues. Drixter posted a very simple solution to this issue. Simply add -Djava.net.preferIPv4Stack=true
in /etc/init.d/vmware-mgmt
to the line (line 678 for me) starting with webAccessOpts="-client
. I've added it just before -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
so that the full line now reads:
webAccessOpts="-client -Xmx64m -XX:MinHeapFreeRatio=30 -XX:MaxHeapFreeRatio=30 -Djava.net.preferIPv4Stack=true -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=$CATALINA_HOME/common/endorsed -classpath $CATALINA_HOME/bin/bootstrap.jar:$CATALINA_HOME/bin/commons-logging-api.jar -Dcatalina.base=$CATALINA_HOME -Dcatalina.home=$CATALINA_HOME -Djava.io.tmpdir=$CATALINA_HOME/temp org.apache.catalina.startup.Bootstrap"
Arrow keys in the client
With this sorted out, I created a new VMWare image to install Linux. Unfortunately while trying to do so, I noticed that my arrow keys weren't working (which makes it rather difficult to select options). Through http://ubuntuforums.org/showthread.php?t=967530 I found out that you need to make some changes in /etc/vmware/config
for this. It is important that you do this on the client side, and not on the server side where your VMWare Server instance is running. You need to add the following lines (or create the file if it doesn't exist yet) to /etc/vmware/config
:
xkeymap.keycode.108 = 0x138 # Alt_R xkeymap.keycode.106 = 0x135 # KP_Divide xkeymap.keycode.104 = 0x11c # KP_Enter xkeymap.keycode.111 = 0x148 # Up xkeymap.keycode.116 = 0x150 # Down xkeymap.keycode.113 = 0x14b # Left xkeymap.keycode.114 = 0x14d # Right xkeymap.keycode.105 = 0x11d # Control_R xkeymap.keycode.118 = 0x152 # Insert xkeymap.keycode.119 = 0x153 # Delete xkeymap.keycode.110 = 0x147 # Home xkeymap.keycode.115 = 0x14f # End xkeymap.keycode.112 = 0x149 # Prior xkeymap.keycode.117 = 0x151 # Next xkeymap.keycode.78 = 0x46 # Scroll_Lock xkeymap.keycode.127 = 0x100 # Pause xkeymap.keycode.133 = 0x15b # Meta_L xkeymap.keycode.134 = 0x15c # Meta_R xkeymap.keycode.135 = 0x15d # Menu xkeymap.keycode.107 = 0x137 # Print Scrn
Don't forget to restart the client though!
With all those three things sorted out, it's time to see if I can reproduce the original MongoDB PHP Driver issue...
Shortlink
This article has a short URL available: https://drck.me/vodu-7yk