Installing Solaris 10 x86 in VMware

I installed Solaris 10 x86 in a VMware Virtual Machine on a laptop earlier this week. It was mostly a straightforward process as I’d used VMware before to install Ubuntu Linux on a number of desktop systems. However, I did run into some trouble on the networking front.

The Problem

Whenever I generated a large amount of network traffic (i.e. copy a 300MB file onto it), the network driver (pcn0) seemed to fall over and die, rendering the VM unreachable from the outside world. I was using the SSH copy tool (scp) tool to carry out the file copy and the problem manifested itself by causing scp to report that the copy was stalled – a state from which it never returned. When I investigated from the system console, the pcn0 interface no longer had an IP address (but was still up). I had to reboot the VM to recover from this.

The Solution

In the end, the solution was to install VMware Tools which actually installs a different network driver (vmxnet) in place of the pcn driver. After VMware Tools was installed I did have to manually rename some of the networking files in /etc (hostname.pcn0 to hostname.vmxnet0 and dhcp.pcn0 to dhcp.vmxnet0) to get the system back on the network. But once I did that (and rebooted), every worked fine and I haven’t had any problems since.
If you happen to have a DVD/CD mounted in the VM (either physically or via ISO image), you should unmount if before attempting the VMware Tools installation as this process tries to mount an ISO image as part of the installation. If you fail to do this, the VMware Tools installation process will pretty much just sit there and give you no feedback as to what’s happening. Despite this, I am still a big fan of VMware and of Solaris.

I used Solaris 10 U3 (10/06) and VMware Server for Windows 1.0.3 Build 44356.

HOWTO: Clone a Virtual Machine using VMware

I have an Ubuntu Linux Virtual Machine running on my Windows system (using VMware) and a colleague wanted to do the same. However, rather than create a new VM and install a fresh version of Ubuntu and go through the motions of installing and configuring all the same development and testing tools, we decided to copy an already configured VM and see if the copy could be used intead.

This turned out to be a very trivial task and I would highly recommend it. Here is how we did it

  1. Copy C:\Virtual Machines\Ubuntu to C:\Virtual Machines\Ubuntu2
  2. From VMware, select File, Open and click the Browse button to locate the .vmx for the new VM (this file stores critical configuration information for the VM including the MAC Address of the Ethernet Adapter)
  3. To rename the new VM, click Edit Virtual Machine Settings, select the Options tab and change the Virtual Machine Name. Click OK.
  4. To start the new VM, click Start Virtual Machine and when prompted, select Create to create a new Unique Identifier for the new VM. This is a critical step as it breaks the association between the new VM and the one it was copied from, producing a new, unique MAC Address for the new VM.

Once the new VM boots, you should be able to log in and reconfigure the network as required and that’s it!