Running Zenwalk as a linux guest on Virtualbox
Being a lightweight distro, I thought Zenwalk would be a good distro to run as a Linux guest. The problem is that Zenwalk is not one of the distro supported by Virtualbox. Zenwalk 4.8 even froze when installing on Virtualbox 1.5. Fortunately, installation worked on Virtualbox 1.5.2. Unfortunately, the guest addition did not work. Without the guest addition, mouse integration will not work and display will be limited.
To install the guest addition, first login as root and select “Install Guest Addition”, which mounts the guest addition as a DVD. We then run the guest addition by:
Unfortunately, when I run VBoxLinuxAdditions.run, I get the following error: Could not find X.org or XFree86 on the guest system. The X Window drivers will not be installed.
The file VBoxLinuxAdditions.run was confusing. The file was a mix of text and binary. After reading the file and playing around with it, I realized that the .run is really some sort of archive installer that uncompress the install files and then delete them. However, there was an option --keep to keep the files around and --noexec to keep it from running. I login as root and copied the VBoxLinuxAdditions.run to a directory and run it with the following options (you can't run it in the additions directory because it is read-only):
cp /mnt/dvd/VBoxLinuxAdditions.run /root
sh ./VBoxLinuxAdditions.run --keep --noexec
This time, an install directory is generated. The routines.sh file contains code to detect what version of Linux you are using and where to install the files. There is no entry for Zenwalk, so the script thinks we are installing in a BSD system. We'll have to add the code ourselves. In the routine.sh directory, locate the routine check_system_type() and
elif [ -f /etc/zenwalk-version ]; then
Next, we'll need to fix that issue with the "Could not find X.org". Edit the install.sh file and locate the section "Install The XWindow Drivers". There should be a line:
for dir in /usr/lib/xorg/modules /usr/X11R6/lib/modules; do
The for loop looks through the directories for the modules directory. However, Zenwalk use none of those directories, so we have to add it:
for dir in /usr/lib/xorg/modules /usr/X11R6/lib/modules /usr/lib/X11/modules; do
Now we can install the files by running:
When you exit and log back into the system, you should have a 32-bit screen and mouse integration should be working.
Post script run
There are two problems after the install.
- Display is still not at native resolution.
- Cut and paste between host and guest is not working.
To fix the resolution, edit /etc/X11/xorg.conf and change the resolutions from "1280x1024" to "1280x800".
To fix the cut and paste, go to /etc/X11/xinit/xinitrc.xfce and add the following line
# Virtual Box clipboard
before the the line:
# Use dbus-launch if installed
Now both mouse, video, clipboard, and shared folder should work. Note that even thought they work, I find that these features are still a little bit buggy. The clipboard for example seems to not work some of the time. The video seems to flake out when going to full screen. The Shared Folder sometimes get a fsync error. Perhaps Innotek will fix this in future releases.