VMware Player

Need to run Windows and Linux? Try running both at the same time with VMware Player.
The August 2005 “On the Desktop” (http://www.linux-mag.com/2005-08/desktop_01.html) demonstrated how to run Linux as an application under Windows using CoLinux (http://www.colinux.org/), a free, open source application. This month, let’s turn that column “upside-down” and run Windows virtualized on Linux using VMware.
VMware Workstation 5.5 is a great application, and for systems professionals that need to prototype systems in a jiffy, it’s an absolutely invaluable tool. But for your average Linux hobbyist, VMware’s $200 price tag is a bit daunting, especially for those that just want the ability to run one instance of Windows on Linux. The multi-virtualized network setup and the ability to constantly tweak virtual machines and run several virtual systems at once is overkill for a lot of people. The average Joe and Jane Penguin, wants to be able to run Microsoft Office, a few games here and there, or spend a Sunday afternoon on PartyPoker.com.
Well, VMWare has heard Joe and Jane. With the free VMware Player, you can create any type of virtual machine you want, be it Windows XP, Windows 2003, Windows 2000, DOS/Windows 3.1 (for all those old games you love), Solaris, FreeBSD, and others, under the 30-day evaluation version of VMware Workstation and then run the virtual machine files ad-infinitum on VMware Player. Now everyone can have virtual Windows for free. That’s a pretty nice gift, courtesy of of EMC and VMware (and a nice piece of viral marketing).

Get Ready…

VMware 5.5 and the VMware Player are designed to run on just about every Linux distribution on the face of the earth, but there are some gotchas. Namely, the software is dependent on a few kernel modules to perform a couple of critical functions. The two important modules are vmmon, the VMware virtual machine monitor, and vmnet, the virtual network device driver.
Since every kernel on every Linux distribution is compiled specifically for that distribution, the VMware modules also have to be compiled for each distribution. Thus, only a few of the most popular distributions are supported with pre-compiled kernel modules — among these are fairly recent versions of Red Hat Linux and SuSE Linux. However, as you run updates on these operating systems, the pre-compiled kernel modules may no longer work.
Ultimately, you will need to install the kernel source (sometimes referred to as kernel-source in your native package or software manager), the kernel headers (kernel-headers, which is required on Red Hat and Fedora), and the GNU Compiler Collection (GCC) that comes with your Linux distribution. If you’ve installed complete versions of Red Hat, Fedora, Mandrake, or SUSE, including all of the developer tools, you are good to go; otherwise, check your distribution and your system to make sure you have all of those prerequisites. Once all of the tools are installed, the VMware installation program can automatically recompile the vmmon and vmnet modules to run on your current kernel.

Get Software…

The next thing to do is download the VMware software. Log onto the VMware web site (http://www.vmware.com/download/ws/eval.html) and download a copy of VMWare Workstation 5.5 to your home directory. (At the time of this writing, VMware 5.5 was still in beta and the file was called VMware-workstation-5.5.0-18007.tar.gz. By the time you read this it could be called something slightly different.)
From a terminal session in your home directory, become the root user by providing the root password:
~ # su root
Next, extract the VMware software file:
~ # tar xzvf  Vmware-workstation-5.5.0-18007.tar.gz
If you’re using SuSE, run make cloneconfig and make modules_prepare from your /usr/src/linux directory before proceeding.
Next, change to the vmware-distrib directory…
~ # cd vmware-distrib
… and run the installation program:
~/vmware-distrib/ # ./vmware-install.pl
The VMWare installation program prompts you with a series of questions. Just hit Enter after to accept the default values. After answering the questions, read the VMware End User License Agreement. Press Enter to begin reading it, and hold down the Enter key to scroll through the text. At the end of the text, hit the q (lowercase “Q”) key to exit the EULA. Type yes to accept the EULA and hit Enter.
When the next series of questions appear, hit the Enter key again when prompt to again accept the default. At the point where the install program asks for networking information, again take the defaults and answer yes for the following questions:
Do you want networking for your virtual machines? (yes/no/help) [yes] yes

Would you prefer to modify your existing networking configuration using the
wizard or the editor? (wizard/editor/help) [wizard]

Do you wish to configure another bridged network? (yes/no) [no] yes

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes] yes

Do you wish to configure another NAT network? (yes/no) [no] yes

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes] yes
At this point, if VMware doesn’t have not have the vmmon and vmnet modules precompiled for your kernel, it recompiles those modules, assuming that you have the kernel source, kernel headers, and the GCC compiler suite installed on your system. (If you’re running Debian or Ubuntu, there are a number of extra steps to follow before the kernel modules will successfully build on your system. Please refer to to the VMTN Support Forums at http://www.vmware.com/community/ for more information.)
At the completion of the VMware installation, you should get the following message, which indicates a successful install:
The configuration of VMware Workstation 5.5.0 build-18007 for Linux for this
running kernel completed successfully.

You can now run VMware Workstation by invoking the command /usr/bin/vmware.
You should now be able to type vmware and hit Enter to launch VMWare Workstation. Once within the VMware Workstation graphical user interface, select “Help” and then “Enter Serial Number” to enter the 30-day evaluation code supplied by the VMware web site.
You’re now ready to start virtualizing.

Building a Virtual Machine

Let’s build the first virtual machine. To run Windows, you’ll need a licensed copy of Windows XP, Windows 2003 Server, Windows ME, or Windows 98, so get your CD out. You do own a copy of Windows, don’t you?
From the “File” menu, select “New& gt; Virtual Machine.” The “New Virtual Machine” wizard will then prompt you to answer a number of questions.
First, take the default, “Typical Virtual Machine Configuration,” and click Next. At the next prompt, select the virtual operating system you’d like to install. Choose “Microsoft Windows,” and then from the drop down, choose the version of Windows that you want to install, and click Next.
The next screen asks for a location for your virtual machine. Choose a location with ample disk space, as the virtual machine files take up several gigabytes or more. Click Next.
The “Network Type” screen specifies what type of network the virtual machine is going to use. Specifying “Bridged” networking actually connects the VM to your LAN as if it were a physical piece of hardware and assigns it its own unique IP address on your LAN. This is particularly useful if you’re going to run server programs, or need to be able to communicate with other machines on your subnet, such as other Windows machines using Windows networking and file and print sharing. Specifying “NAT” shares your host machine’s network connection and effectively turns your PC into a SOHO router. “Host Only” completely isolates your machine from your internal network, and is not recommend this for home use. “Bridged” is probably the best configuration if you have a SOHO router such as a Linksys serving out DHCP addresses, whereas NAT is good if you have a laptop and are on the road. After specifying your network connection, click Next.
At the “Disk Size” screen, specify how much space to allocate to your virtual Windows box. For a full Windows XP install plus Microsoft Office, I’d recommend allocating 10 GB or more space. You have the option here of pre-allocating all of the disk space at once, which increases performance, or having the file system “grow” in size as you need it. You can also elect to split up the file system in 2 GB blocks, which is handy if you want to burn the VM files to a writeable DVD or copy them across the network to a backup hard disk later on.
Once you’ve finished with the Wizard, you’ll be returned to the main VMware Workstation screen, and the status screen for your newly created VM.
The “Devices” section is where you should go first to tweak your VM for your particular needs. For example, you can elect to remove the floppy disk (which most laptops no longer have) or add a secondary Ethernet adapter. You can also choose to bump up the base memory of your VM, but be sure not to put in more memory than you actually need. For basic web browsing and Office needs, 512 MB to 768 MB of RAM is fine. You can always tweak this later on in the VMWare Player section.
Once you’ve finalized your VM’s configuration, pop in the Windows CD-ROM and then hit the red Power On button in the upper left hand corner of the main VMware Workstation window. The virtual PC boots, and you can install Windows as you normally would, with applications and everything.
After prepping your virtual Windows machine, from the VM menu, choose “Install VMware Tools.” This installs enhanced video display and networking device drivers.

Running the VMware Player

After your 30-day evaluation of VMWare workstation runs out, return to the VMware web site and download the VMware player from http://www.vmware.com/products/player/. As of this writing, the VMware player was distributed as a tarball or as RPM. Download Player to your home directory, open up a terminal session, and as before, su to the root user.
Unpack the VMware Plater archive…
~ # tar xzvf VMware-player-1.0.0-18007.tar.gz
… change to the vmware-player-distrib directory…
~ # cd vmware-player-distrib
… and run the installer program:
~/vmware-player-distrib/ # ./vmware-install.pl
Like the VMware Workstation installer program, the Player install asks you a number of similar questions; you can elect to take the defaults. Since you already installed VMware Workstation previously, the installer will remove VMware Workstation, use your previous networking settings, and use your existing vmmon and vmnet modules. If for some reason you need to re-install the VMware Player on another machine, you will need to re-configure your virtual network settings and rebuild the VMware kernel modules again. (As with the VMware Workstation install, you will need the kernel-source, kernel-headers and GCC tools installed.)
Once the VMware Player is installed, you can launch it with the command vmplayer. After the GUI appears, you can open your previously configured machine by using the Player menu and browsing thru the file system to where your virtual disks and your *.VMX file is stored.
The VMX file is a text file that defines various variables on how your virtual machine runs within VMWare Workstation and VMWare Player. Here’s part of the file contents:
#!/usr/bin/vmware
config.version = "8"
virtualHW.version = "4"
memsize = "512"
ide0:0.present = "TRUE"
ide0:0.fileName = "Windows XP Professional.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "/dev/cdrom"
ide1:0.deviceType = "cdrom-raw"
floppy0.startConnected = "FALSE"
floppy0.fileName = "/dev/fd0"
ethernet0.present = "TRUE"
usb.present = "TRUE"
sound.present = "TRUE"
sound.virtualDev = "es1371"
displayName = "Windows XP Professional"
guestOS = "winxppro"
nvram = "Windows XP Professional.nvram"
paevm= "true"
floppy0.present = "FALSE"
If you ever need to make any tweaks, such as increasing memory size, or enabling floppy disks, you can edit this file, without requiring VMWare Workstation to tweak it.
VMware is by far one of the most useful tools you can have installed on your Linux desktop. Now, finally, with the VMWare player, everyone can take advantage of its capabilities, for free. To paraphrase my favorite convicted felon cum TV show host cum media empress: “VMWare. It’s a Good Thing.”

Jason Perlow is a longtime contributor to Linux Magazine and a longtime subscriber to Martha Stewart Living. You can catch him in the garden or kitchen (he’ll be the one eating) or reach him at class="emailaddress">jperlow@linux-mag.com.

Fatal error: Call to undefined function aa_author_bios() in /opt/apache/dms/b2b/linux-mag.com/site/www/htdocs/wp-content/themes/linuxmag/single.php on line 62