Become a Patron!

My Amazon wishlist can be found here.

Life Line

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 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
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-
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

The first patch I found on the VMWare communities site (do not use the file that's listed there!). The second patch I found at (again, do not use the script).

VMWare Web Access

With this, I could get VMWare started, but unfortunately the web access interface through 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 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.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$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 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...


This article has a short URL available:


No comments yet

Add Comment


Will not be posted. Please leave empty instead of filling in garbage though!

Please follow the reStructured Text format. Do not use the comment form to report issues in software, use the relevant issue tracker. I will not answer them here.

All comments are moderated