Virtualization Company Logos Sun.com Intel.com AMD.com HP.com RedHat.com Apple.com SWSoft.com VMware.com Parallels.com Microsoft.com cj tracking image cj tracking image
VMware Player, Part 3, Custom Built Images
February 26th, 2007 under Intel, x86 Virtualization, Virtualization, Desktop Computing, Microsoft, VMWare, News

This is the long awaited 3rd post in the 4 part series about VMware Player.

The power of VMware player is the ability to build your own operating system images. With a few minutes time, you can install most any x86 operating system, boot it up and be online.

Part 1. How to install VMware Player
Part 2. How to use standard VMware Images, from the VMware Application Vault.
Part 3. Building your own custom images
Part 4. Using VMware software for physical to virtual conversion

Here is the checklist of software you may want to have before starting this process.

1. ISO image or Installation CD (I prefer the ISO’s, faster, easier, and more flexible)
1.a. bittorrent, used to download Linux ISO’s or other files (We don’t promote piracy)
1.b. ISO Recorder, this allows you to create ISO’s from folders. (more on this later) Download here

The 2 files you will need are the VMX and VMDK. The easiest way to get these files is to visit:

EasyVMX.com logo

Note: I have talked to Havard at easyVMX, and he told me he may be changing his site, when and if that happens I will post a direct download link to a configured Zip file.

OR

Download VMX Builder, and use the simple Windows GUI to generate the files you need. The gui allows for precise configurations, much more so then EasyVMX, but may seem over whelming to first time users. The nice feature is that you can run VMware directly from the builder to test your files.

VMX Builder application for Windows

There are some other tutorials and Tools out there, some are dated, but others offer more detail:
J_K9 @ Linux » HOW TO: Run Other OSes On Your PC
CrystalDawn.net - Custom PHP Scripts » VMWare Player
VMware Utilities Homepage

There are already enough Linux images out there, covering all the bases. What isn’t easily available online is Microsoft Windows based images. I’m going to walk through the creation, installation, and use of Windows 3.11.

I read online somewhere that if you still own the original Windows 3.11 and Dos 6.22 floppy disks it is legal to posses a digital format or version on CD. I haven’t been able to find that page again, but I’m going under the understanding that since I still have many copies of Windows 3.11, that is acceptable to use Windows 3.11 with as an iso file.

Step 1. Create a folder for your virtual machines, then sub folder for each machine.

I created a folder on my desktop, called “Virtual Machines”, then the sub folder “Windows3.1″

Step 2. Copy the windows 3.11 and Dos 6.2 ISO files into the “Windows3.1″ folder

Step 3. Download the correct VMX and VMDK files from EasyVMX.

To download the basic zip package, check out this link: 500MB drive, 32MB ram, and Windows 3.1, all you need to do now is modify the VMX for your situation.

Step 4. Extract the Zip files into your “Windows3.1″ folder.

Step 5. Open the My_Virtual_Machine.vmx in your favorite text editor.

I recommend Notepad 2, download here: Notepad 2

Step 6. Here is the contents of the My_Virtual_Machine.vmx file.

The bold lines are items you will want to change.

#!/usr/bin/vmplayer

# Filename: My_Virtual_Machine.vmx
# Generated 2007-02-24;23:12:41 by EasyVMX! Super Simple Edition
# http://www.easyvmx.com

# This is a Workstation 5 or 5.5 config file
# It can be used with Player
config.version = “8″
virtualHW.version = “4″

# Selected operating system for your virtual machine
guestOS = “win31″

# displayName is your own name for the virtual machine
displayName = “My_Virtual_Machine”

# These fields are free text description fields
annotation = “Virtual Machine created with EasyVMX! Super Simple Edition”
guestinfo.vmware.product.url = “http://www.easyvmx.com”
guestinfo.vmware.product.class = “virtual machine”

# Number of virtual CPUs. Your virtual machine will not
# work if this number is higher than the number of your physical CPUs
numvcpus = “1″

# Memory size and other memory settings
memsize = “32″
MemAllowAutoScaleDown = “FALSE”
MemTrimRate = “-1″

# Unique ID for the virtual machine will be created
uuid.action = “create”

# Remind to install VMware Tools
# This setting has no effect in VMware Player
tools.remindInstall = “TRUE”

# Startup hints interfers with automatic startup of a virtual machine
# This setting has no effect in VMware Player
hints.hideAll = “TRUE”

# Enable time synchronization between computer
# and virtual machine
tools.syncTime = “TRUE”

# USB settings
# This config activates USB
usb.present = “TRUE”
usb.generic.autoconnect = “FALSE”

# First serial port, physical COM1 is available
serial0.present = “TRUE”
serial0.fileName = “Auto Detect”
serial0.autodetect = “TRUE”
serial0.hardwareFlowControl = “TRUE”

# First parallell port, physical LPT1 is available
# It is set to bidirectional for more functionality
parallel0.present = “TRUE”
parallel0.fileName = “Auto Detect”
parallel0.autodetect = “TRUE”
parallel0.bidirectional = “TRUE”

# Sound settings
sound.present = “TRUE”
sound.virtualdev = “sb16″

# Logging
# This config activates logging, and keeps last log
logging = “TRUE”
log.fileName = “My_Virtual_Machine.log”
log.append = “TRUE”
log.keepOld = “1″

# These settings decides interaction between your
# computer and the virtual machine
isolation.tools.hgfs.disable = “FALSE”
isolation.tools.dnd.disable = “FALSE”
isolation.tools.copy.enable = “TRUE”
isolation.tools.paste.enabled = “TRUE”

# First network interface card
# This config activates this NIC by default
ethernet0.present = “TRUE”
ethernet0.connectionType = “nat”
ethernet0.addressType = “generated”
ethernet0.generatedAddressOffset = “0″
ethernet0.virtualDev = “vlance”

# Settings for physical floppy drive
floppy0.present = “FALSE”

# Settings for physical CDROM drive
ide1:0.present = “TRUE”
ide1:0.deviceType = “cdrom-raw”
ide1:0.startConnected = “TRUE”
ide1:0.fileName = “auto detect”
ide1:0.autodetect = “TRUE”

# First IDE disk
# This disk image is selected by default
ide0:0.present = “TRUE”
ide0:0.fileName = “My_Virtual_Machine.vmdk”
ide0:0.mode = “persistent”
ide0:0.startConnected = “TRUE”
ide0:0.writeThrough = “TRUE”

# LiveCD
ide1:1.present = “TRUE”
ide1:1.fileName = “MS-DOS 6.22.iso”
ide1:1.deviceType = “cdrom-image”
ide1:1.startConnected = “TRUE”
ide1:1.mode = “persistent”

# END OF EasyVMX! CONFIG
Explanation of the VMX files

Each of the bold lines should be changed. I recommend setting Serial, Parallel, USB and Sound all to FALSE. My laptop doesn’t have LPT1 or COM1, plus Windows 3.11 doesn’t support USB. The biggest change is the CD rom lines. Because I used the a ISO image, I disable the physical CD rom drive. If you are going to be using your own physical CD skip this step. I disabled the physical CD, by setting it to FALSE, then I changed the ide1.1 to ide0:1. The last thing to change is make sure the ISO name matches the MS Dos ISO you will be using, my file is named: “MS-DOS 6.22.iso”

Step 7. We are ready to launch the VMware Player.

If you have setup VMware Player correctly, double clicking on the VMX icon should launch the player. Here is a screenshot of VMware player booting up for the first time:

Microsoft Dos 6.22 Install on VMware Player

Step 8. Complete Microsoft Dos 6.22 Installation.

This installation should only take a few minutes, it took longer for my French Press to brew, if all goes well. If you have any issues with the formating the drive because the installer keeps looking for a floppy disk e:, you can exit the wizard and use fdisk and format from the command prompt (don’t you remember how to do that?)

Step 9. The tricky part is getting CD support.

It happens that the ISO I have, was modified to include generic CD drivers, as part of a boot menu. The second time you boot the Virtual Machine, it asks if you wish to install those drivers. Go ahead and do that, saves alot of trouble down the road.

Step 10. Time to load Windows 3.11, Steps are getting harder now.

If you have ever loaded 3.11 in the past, this will be your fastest install ever. If you haven’t it may be the slowest. First thing you need to do is boot the system for the 3rd time (2nd was to install cd drivers). You arrive at the command prompt. Yeah life is good. Enter d:\setup.exe and the setup should start. O yeah, might help if you actually setup VMware Player to load the windows CD ISO. Shutdown the player, open the VMX file, and edit the line: ide1:1.fileName = “MS-DOS 6.22.iso” to ide1:1.fileName = “windows 311.iso”, or what is correct for your ISO. Boot the Player backup, and now run the setup. Walk through the installation, estimated time, in a few minutes. NOTE: don’t worry about the network, we need to install drivers so will take care of this in a few steps.

Microsoft Windows 3.11 Install on VMware Player

Step 11. Running Windows for the first time.

Don’t PANIC. Windows 3.11 doesn’t start automatically. If everything went right you should be back to the command prompt. type win and hit enter. Welcome to the world of Windows 3.11 inside of a Virtual Machine

Microsoft Windows 3.11 Loading on VMware Player

Notice: If you are just following along for fun, then you can stop now. But if you really want to go retro and browse the web on Windows 3.11 continue on. This is great fun to mess with peoples log files. Or if you really want to have fun with tech support. Try ordering from Amazon.com or Dell.com with Windows 3.11 ( I don’t recomend this, due to low or poor encryption technology incorporated into older versions of web browsers)

Step 12. Additional Drivers ISO.

When researching this article I came across a great site, which put together all the files needed for networking on VMware Player. The files is located at Tony’s VMware Site. The one problem is that I find it easiest to load files into a Virtual Machine with an ISO file. How do you get them into an ISO file? With ISO Recorder, once installed on windows it adds a awesome option to the right click menu of Windows XP. “Create ISO Image File”, right click on any folder, create the iso. you now have 2 choices, burn the ISO to a CD or you can just load the CD into the Virtual Environment, by adjusting the CD source line: ide0:1.fileName = “Windows 3.11.iso” change it to ide0:1.fileName = “WindowsDRIVERS.iso” or whatever you need to do.

Step 13. Loading the drivers inside of Windows 3.11

Just follow the instructions on Tony’s VMware Site. He does a great job of walking through the process and this post is getting long enough.

Step 14. Now wait, why is my CPU maxed out running Windows 3.11?

Maybe you noticed that your CPU is maxed out? Well you aren’t alone. This post here explains it all pretty well. At this point I decided to take advantage of the networking inside of Windows 3.11 and moved files over using a shared folder. It works the same way as Windows 95/98 so it is pretty easy to setup. The files you will need to fix the cpu is can be found at Software - Weiqi Gao.com. More information on this site QEMU: The Open Source Processor Emulator - Weiqi Gao’s Observations

Step 15. Last step, time to install Netscape Navigator.

To get online you need to have a web browser. So time to download the browser. I found a few copies of Netscape available at this website Cintek.com - Netscape Download Page

Microsoft Windows 3.11 Internet on VMware Player

Sources:

EasyVMX.com
ISO Recorder
VMware DOS and Windows 3.x Installation Notes
J_K9 @ Linux » HOW TO: Run Other OSes On Your PC
CrystalDawn.net - Custom PHP Scripts » VMWare Player
VMware Utilities Homepage
Cintek.com - Netscape Download Page
QEMU: The Open Source Processor Emulator - Weiqi Gao’s Observations



2 Responses to “VMware Player, Part 3, Custom Built Images”

  1. VMware Player, Part 2, Prebuilt Images at x86 Virtualization Says:

    […] This is the 2nd in a 4 part series outlining the installation, configuration, modification, and use of VMware Player. Part one is located here part 1 of 4. part 3 of 4 is done now too […]

  2. Robert PetruskaNo Gravatar Says:

    As your tutorials appear to be written from a Windows-host user’s perspective, you may want to at least mention my offline application, VMX Builder, which allows a user to not only create virtual machines (like you can with the web-based EasyVMX.com), but edit them too.

Leave a Reply