Archive for the ‘VMWare’ Category
Working on my stuff today, and the Belkin Flip DVI KVM Switch (product discontinued as of 2012) went nuts. First, I lost the keyboard, and then video. After a couple fruitless minutes, I did the unthinkable and opted for the 7 second to oblivion restart while two VMWare instances were up and running. By the way, I disconnected the Belkin Flip DVI KVM Switch because that was the last straw. For those looking at the product, I’d advise against it because infrequently the device transmits haze or golden flashing pixels. Also, this wasn’t the first time the keyboard disconnected itself without rhyme or reason.
All my VMs were locked when I rebooted. It didn’t matter whether they were running or not when I did the forced shutdown. This is not the image you want to see when you’re short on time against a fixed deadline.
The fix was simple. You go to the directory where each VM is located and find if you have locked files. You can run this command to find them:
$ ls *.lck
If they’re locked you’ll see something this:
564df021-1de5-dec0-942a-37635b35361b.vmem.lck: M00680.lck Windows XP Professional 32-bit.vmdk.lck: M25400.lck Windows XP Professional 32-bit.vmx.lck: M47433.lck
You need to delete all three files, I used this command:
$ rm -rf *.lck
When you restart VMWare Fusion, everything will be fine. Hope this helps a few folks.
About 8 months ago I published how to set up a shared network printer in Windows XP, using VMWare Fusion on a Mac OS X. Recently, I went to follow my own instructions and found they failed with an older Windows XP media – OUCH!
When I checked whether or not the version of Windows XP knew about my much newer printer, the problem became clear. If you want to set up a newer printer than Windows recognizes, you’ll need the vendors media.
Here are the steps to install a printer when Windows can’t recognize the network printer:
1. First make sure you navigate to Virtual Machine on the VMWare Fusion menu, choose CD/DVD and then Connect CD/DVD to proceed.
2. Insert the disk that came with your printer. My disk is for my HP 2420 duplex printer on Windows XP, 32-bit. If you’re installing to a 64-bit version of Windows, the installer will die and the complexity rises as you download the media from HP and manually install the driver files.
The screen shots are those for configuring a printer because I neglected to capture the driver install shots earlier and didn’t have the time to do so. When I have to setup another similar version, I’ll add those. The first screen shot after the welcome screen and choosing your language follows. Click the Next button to continue.
3. Choose the Add an additional printer on printer driver radio button, then click the Next button to proceed.
4. Choose the Connected via the network radio button, and then click the Next button to continue.
5. Choose the Basic network setup for a PC or server (recommended) radio button, and then click Next button to continue.
6. Choose a method to search by enabling the Search from a list of detected printers (recommended). This choice fails from the normal process that adds a printer because it can’t detect newer printers. Click the Next button to continue.
7. This next screen is a progress bar, and it takes enough time that you’ll notice it. Click the Next button to continue.
8. Hopefully, you’ll find your printer. Click the Yes, install this printer. Click the Next button to continue.
9. The following confirms the settings. Unless you’ve manually assigned the Network Interface Card for the printer to a fixed IP address, I’d leave these settings alone. Click the Next button to continue.
10. If you’ve manually installed the Post Script driver you may want to enable it here. As to the HP LaserJet Toolbox, I would definitely leave it alone. Click the Next button to continue.
11. This is where you can rename your printer if you have a desired name. Enter any change from the default, and then click Next to continue.
12. Generally, it’s a very bad idea to share a printer from a virtual machine instance. The only time I’d even think about it would be if I were trying to replicate a problem with a nested virtual machine. Therefore, I’d suggest you choose Not Shared, and then click Next to continue.
13. Here you can put a location in for the printer and any comment you’d like to have for it. Click the Next button to continue.
14. Everything to here as been choosing the configuration. Click the Install button to install the printer.
15. This progress bar fills four times, so take a break. When it is done, click Next to continue. Don’t click that Cancel button when it hangs for bit because it may do that. You’ll need to be patient, after all it is Microsoft’s operating system and most likely an HP driver.
16. You’ve now completed the installation, click the Finish button to complete the process.
Hopefully, this helps a couple folks that are configuring a Windows XP printer inside a 32-bit Windows XP installation.
Starting writing with the new publisher’s template and found that I couldn’t use Word 2007 or Word 2008. I ran into a neat twist with the F8 key when building a Windows XP virtual machine for Word 2003. Whether inside or outside the virtual machine, the focus for the F8 key always stayed with Mac OS X. That meant F8 launches Spaces instead of letting the Windows XP install proceed.
The fix was simple enough, I disabled F8 as the launch key for Spaces. Then, it let the Windows XP install work.
Should that work around be there? It’s probably a bug in VMWare Fusion, Version 2.0 (116369). If you know for sure, let me and other readers know.
It sometimes gets tiresome to sort the VMWare compatibility issues with Linux release-by-release but at the end of the cycle it’s fine. I downloaded the current Fedora 10 Live release because it is so much smaller than the install disk. It uses a kernel of 18.104.22.168-117.fc10.i686. I encountered a critical errors when I tried to install the VMWare Toolkit from VMWare Fusion, version 2.0.3 (156731). The only error guidance you’ll get is that there isn’t any make file.
There’s a twist here if you’re most familiar with Ubuntu and
sudo command execution. You need to
su to the
root account and run everything as
root user. An alternative would be to edit the
/etc/inittab file to allow the
root user to boot the instance. The default is 5 (X11). You enable the
root user by changing it to 3 (full multiuser mode). Don’t forget to change it back, you really shouldn’t log in as the
root user. Anyway, you’ll have to do it to run the VMWare Toolkit successfully as shown later in the post.
You fix the incompatibility of the VMWare Fusion Toolkit by downloading the following two missing RPMs. You should be able to find them here. As to why they’re not in the Live DVD distribution, who knows.
binutils-22.214.171.124.9-8.fc10.i386.rpm gcc-4.3.2-7.i386.rpm glibc-2.9-2.i686.rpm glibc-devel-2.9-2.i386.rpm glibc-headers-2.9-2.i386.rpm kernel-devel-126.96.36.199-117.fc10.i686.rpm kernel-headers-188.8.131.52-117.fc10.i386.rpm libgomp-4.3.2-7.i386.rpm
You can’t run some of them through the RPM utility, so you should probably run them all at the command line. The command line syntax and sequence for these packages is:
rpm -ivh kernel-headers-184.108.40.206-117.fc10.i386.rpm rpm -ivh kernel-devel-220.127.116.11-117.fc10.i686.rpm rpm -ivh binutils-18.104.22.168.9-8.fc10.i386.rpm rpm -ivh libgomp-4.3.2-7.i386.rpm rpm -ivh glibc-headers-2.9-2.i386.rpm rpm -ivh glibc-devel-2.9-2.i386.rpm rpm -ivh glibc-2.9-2.i686.rpm rpm -ivh gcc-4.3.2-7.i386.rpm
root user, you can now install the VMWare Toolkit. While running the installation, you’ll receive a prompt to confirm the
/usr/src/linux/include. Don’t accept the default path because it won’t work unless you created a symbolic link. The kernel header files require you to enter the following path:
Everything should work finxs e when you compile the modules. Hope this helps a couple folks.
Customizing the toolbar is one of the things that I’ve found important in using VMWare Fusion to test various Linux distributions. It’s nice they put Suspend by default on the toolbar but it would be nicer still if they put Shut Down. I got tired of looking for the PID to manually kill the virtualization from the Terminal command line. It is so much easier to add a Shut Down widget before trying to install VMWare Tools because that’s where some distributions hang.
Here are the steps to customize the toolbar:
1. Right click on the toolbar before running the VMWare instance, and you’ll see this context menu. Choose the Customize Toolbar… choice from the list.
2. The prior step lets you customize the toolbar though the following menu option dialog. Just click on the icon you want and drag it on to the toolbar. I’d suggest dragging Shut Down and Full Screen on to the toolbar.
I prefer putting the Shut Down to the left of the Suspend button, like this:
Hope this helps somebody.
It seemed like a good day to test VMWare Fusion 2.0.1 on my Mac, but while it works well with Microsoft Windows XP VM, it doesn’t work as well with Ubuntu 8.04.1 or 8.10 VM. It wasn’t too surprising to see that VMWare Tools (
VMwareTools-7.9.3-128865.tar.gz) don’t work with Ubuntu 8.04.1. There’s a mismatch between the
gcc compiler and the kernel. You need
gcc 4.2.3 to compile the kernel but
gcc 4.2.4 to compile the modules for VMWare Tools.
You see it right away when the VMWare Tools script prompts you to compile the
vmmemctl modules, like this:
None of the pre-built vmmemctl modules for VMware Tools is suitable for your running kernel. Do you want this program to try to build the vmmemctl module for your system (you need to have a C compiler installed on your system)? [yes] Using compiler "/usr/bin/gcc". Use environment variable CC to override. Your kernel was built with "gcc" version "4.2.3", while you are trying to use "/usr/bin/gcc" version "4.2.4". This configuration is not recommended and VMware Tools may crash if you'll continue. Please try to use exactly same compiler as one used for building your kernel. Do you want to go with compiler "/usr/bin/gcc" version "4.2.4" anyway? [no]
At this point, upgrading Ubuntu appears ideal. Upgrading was tedious, and resulted in two failures. The first failure requires you shut down the instance by using the VMWare Fusion menu – Virtual Machine, Shut Down Guest. Don’t expect it to work as fast as it did in 2.0.0, at least with Ubuntu.
The second failure is that
vsock.o can’t be made due to missing header files. That’s really as good as it gets because a fresh install produces the same error. The failure shown is:
Using 2.6.x kernel build system. make: Entering directory `/tmp/vmware-config0/vsock-only' make -C /lib/modules/2.6.27-7-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules make: Entering directory `/usr/src/linux-headers-2.6.27-7-generic' CC [M] /tmp/vmware-config0/vsock-only/linuxaf_vsock.o CC [M] /tmp/vmware-config0/vsock-only/driverLog.o CC [M] /tmp/vmware-config0/vsock-only/util.o /tmp/vmware-config0/vsock-only/linux/util.c: In function 'VSockVmciLogPkt': /tmp/vmware-config0/vsock-only/linux/util.c:157: warning: format not a string literal and no format arguments CC [M] /tmp/vmware-config0/vsock-only/linuxaf_vsock.o LD [M] /tmp/vmware-config0/vsock-only/vsock.o MODPOST 1 modules WARNING: "VMCIDatagram_CreateHnd" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIDatagram_DestroyHnd" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIEvent_Subscribe" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCI_DeviceGet" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIEvent_Subscribe" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIDevice_Get" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIMemcpyFromQueueV" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIQueuePair_Detach" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCI_GetConextID" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIDatagram_Send" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIQueuePair_Alloc" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIEvent_Unsubscribe" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! WARNING: "VMCIMemcpyToQueueV" [/tmp/vmware-config0/vsock-only/vsock.ko] undefinied! CC /tmp/vmware-config0/vsock-only/vsock.mod.o LD [M] /tmp/vmware-config0/vsock-only/vsock.ko make: Leaving directory `/usr/src/linux-headers-2.6.27-7-generic' cp -f vsock.ko ./../vsock.o make: Leaving directory `/tmp/vmware-config0/vsock-only' Unable to make a vsock module that can be loaded in the running kernel: insmod: error inserting '/tmp/vmware-config0/vsock.o': -1 Unknown symbol in module There is probably a slight difference in the kernel configuration beetween the set of C header files you specified and your running kernel. You may want to rebuild a kernel based on that directory, or specify another directory. The VM communication interface socket family is used in conjunction with the VM communication interface to provide a new communication path among guests and host. The rest of this software provided by VMWare Tools is designed to work independently of this feature. If you with to have the VSOCK feature you can install the driver by running the vmware-config-tools.pl again after making sure that gcc, binutils, make and the kernel sources for your running kernel are installed on your machine. These packages are available on your distribution's installation CD. [ Press the Enter key to continue.]
Wouldn’t it be nice if they pointed to a specific file. It didn’t take much effort to find them, after all it’s Linux. I found that they’re defined in the
vmciGuestKernelAPI.h files. Those files are found inside the
vsock-only.tar file. You can find the
vsock-only.tar file in the
vmware-tools-distrib/lib/modules/source directory. You can read more about the Virtual Machine Communication Interface on VMWare’s web site.
The only pre-built VMWare Fusion 2.0.1 pre-built tool modules for Ubuntu are compatible with the listed kernels. Unfortunately, as noted above they don’t work because of a
bld-2.6.24-16-i386generic-Ubuntu8.04 bld-2.6.24-16-i386server-Ubuntu8.04 bld-2.6.24-16-i386virtual-Ubuntu8.04 bld-2.6.24-16-x86_64generic-Ubuntu8.04 bld-2.6.24-16-x86_64server-Ubuntu8.04 bld-2.6.24-19-i386generic-Ubuntu8.04.1 bld-2.6.24-19-i386server-Ubuntu8.04.1 bld-2.6.24-19-i386virtual-Ubuntu8.04.1 bld-2.6.24-19-x86_64generic-Ubuntu8.04.1 bld-2.6.24-19-x86_64server-Ubuntu8.04.1
The only question I’m left with is do I troubleshoot this or downgrade VMWare back to 2.0.0? I’m inclined to the latter given the lack of energy in the VMWare forum.
Ultimately, this was fixed with the next release of VMWare. They simply lag a bit in getting the libraries straight. In fact, I ran into a similar problem with Ubuntu 9.04 and the page.c file. I hacked it and got everything working but really, you should probably just use the last release of Ubuntu a little longer because VMWare looks to lag release by about 4 months.
Now that I’ve organized the blog a bit, I can start posting new information. VMWare Fusion is a great tool but I fat fingered a few installs before i mastered it. You need a customized set of settings to create an effective virtual machine to run Oracle 11g. You need to allocate enough memory and pre-allocate disk space before you do the install or it takes much longer. You may also fragment a base operating system unless you setup a separate mount point (true also for VMWare Workstation for Linux).
You’ll find the steps to create a customized virtual machine for a Red Hat AS 4 installation in the Configure Custom VM blog page. It’s more or less the same thing for Oracle 10g or the Oracle eBusiness suite, except you’ll need to pre-allocate more disk space.
I was doing yet another install of Red Hat AS 4 in VMWare Fusion and ran into a new error. It’s the following: The virtual machine is unable to reserve memory.
The only way I found to fix this involves opening a terminal and killing the process manually. Killing without prejudice (cleanly shutdown the process and dependents) didn’t work. I had to kill it with prejudice (shutdown the process notwithstanding anything), then click the Abort button. The next error message says the peer process is missing and allows you to exit VMWare Fusion. Then, you reboot the Mac OS X.
The steps for find the process and killing it are:
1. Open a Terminal and run the following command:
# ps -ef | grep vmware
It returns something like this:
0 90 1 0 0:00.00 ?? 0:00.00 /Library/Application Support/VMware Fusion/vmnet-dhcpd -cf /Library/Application Support/VMware Fusion/vmnet8/dhcpd.conf -lf /var/db/vmware/vmnet-dhcpd-vmnet8.leases -pf /var/run/vmnet-dhcpd-vmnet8.pid vmnet8 0 98 1 0 0:00.00 ?? 0:00.00 /Library/Application Support/VMware Fusion/vmnet-dhcpd -cf /Library/Application Support/VMware Fusion/vmnet1/dhcpd.conf -lf /var/db/vmware/vmnet-dhcpd-vmnet1.leases -pf /var/run/vmnet-dhcpd-vmnet1.pid vmnet1 501 160 115 0 1:44.12 ?? 3:15.87 /Applications/VMware Fusion.app/Contents/MacOS/vmware -psn_0_77843 0 322 1 0 0:00.07 ?? 0:00.29 /Library/Application Support/VMware Fusion/vmware-vmx -E en -D ZjTtGrJgANADRAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= -# product=1;name=VMware Fusion;version=2.0;buildnumber=116369;licensename=VMware Fusion for Mac OS;licenseversion=6.0 build-116369; -@ pipe=/var/folders/fi/fiepDOKbFJeE42RxGcDBgU+++TI/-Tmp-//vmware-mclaughlinm/vmxd9641b5487a98f78;readyEvent=24 /Volumes/Disk2/Red Hat Enterprise Linux 4 Oracle.vmwarevm/Red Hat Enterprise Linux 4 Oracle.vmx 501 397 303 0 0:00.00 ttys000 0:00.00 grep vmware
2. Kill the VMWare Fusion process by using the following syntax:
# kill -9 322
3. Reboot the operating system.
You’ll need to right click on the VMWareTools icon and manually extract the file. If you don’t and double click the icon instead, it’ll raise an exception that one already exists. After you manually extract it to your desktop, run the command as follows (replacing your user name of course):
# sudo /home/username/Desktop/vmware-tools-distrib/vmware-install.pl
I wrote this when it seemed like a good idea. I subsequently discovered that all upgrades aren’t as good as you’d like. Sometimes, a fresh install recommends itself when the virtual machine is Red Hat AS.
I’d already upgraded my Windows x86 instances to 2.x on my Mac Book Pro but hadn’t got around to Ubuntu until today. The upgrade went fine, and VMWare Tools compilation succeeded and kernel reports were normal. Unfortunately, CUPS (Common Unix Printing Service) fails to start correctly and there doesn’t appear to be any way to fix it without changing the VMWare Fusion libraries. It appears to be a bug introduced by VMWare Tools. I’ve updated my Ubuntu VMWare printer set up steps to note it. If you’ve got a fix for the problem, let me know.