-------------------------------------------------------------------------------- VMware 3.x for OpenBSD version 1.2 -------------------------------------------------------------------------------- by Marius Aamodt Eriksen http://monkey.org/~marius/vmware-openbsd DESCRIPTION A port of the kernel modules for VMware to OpenBSD-current. Ported from the NetBSD modules by Jaromir Dolecek and the linux modules provided by VMware, as well as a few bits from Jason Ish' port of the NetBSD modules for VMware 2.x. INSTALL Make sure you have OpenBSD-current (as of October 13, 2003). You need to get a license from VMware, and binaries from them. The provided install script won't work, so it's best done manually. From the vmware-distrib directory, copy as follows: bin/* -> /usr/local/bin/ lib/* -> /usr/local/lib/vmware Then, make sure /etc/vmware exists and that /etc/vmware/config is somewhat similar to vmware.fullpath = "/usr/local/bin/vmware" wizard.fullpath = "/usr/local/bin/vmware-wizard" dhcpd.fullpath = "/usr/local/bin/vmnet-dhcpd" loop.fullpath = "/usr/local/bin/vmware-loop" control.fullpath = "/usr/local/bin/vmware-control" libdir = "/usr/local/lib/vmware" vmnet1.HostOnlyAddress = "192.168.1.100" vmnet1.HostOnlyNetMask = "255.255.255.0" A port should appear soon to make this a less painful process. After installing vmware, apply the binary patch in vmware-any-any-update37. Simply run $ ./update /usr/local/bin/vmware This takes into account some changes in in recent linux libcs (like the one provided by the redhat-base port). The modules are built separately; so type "make" in each of the directories: source/vmmon source/vmnet source/linuxrtc util The kernel modules can be loaded by typing "make load" in each of the directories, and unloaded by "make unload." Install "vmware-run" from util/ somewhere in your path. I use the following script to initialize them: cd $VMWAREHOME/source/vmmon/ make unload || make load || exit 1 cd $VMWAREHOME/source/vmnet make unload || make load || exit 1 cd $VMWAREHOME/source/linuxrtc make unload || ( make load && cd export DISPLAY=:0.0 systrace -d /etc/systrace -g /usr/local/bin/notification \ /usr/local/bin/vmnet-netifup -d /tmp/vmnet.pid \ /dev/vmnet1 vmnet1 ) it is included as "vmware-init.sh" also included is "vmware-run.sh" which is a convenient way to run VMware. These scripts systrace everything by default; if this is not desired, the systrace commands can be removed. Systrace policies are included in the systrace directory. QUIRKS When a virtual machine is powered on, there is a fatal error: Cannot attach shared memory segment: Invalid argument. Failed to initialize SVGA device. This seems to be an issue with a race condition in creating a shm segment and accessing it (presumeably between 2 vmware processes). However, after hitting "power on" 5 times, it works (and forever after, until the next invocation of VMware). *THIS IS FIXED IN OPENBSD-CURRENT AS OF OCTOBER 13, 2003* WHAT WORKS NetBSD - with X11 FreeBSD Plan9 OpenBSD Nothing else has been tested yet. Please let me know of any other (working or non-working) setups! DOCUMENTATION The original NetBSD README file is included as "README." Follow the instructions there as well. THANKS Thanks to Niels Provos and Jolan Luff for testing.