Author: Sven Knispel
Updated: [udate]
[Updated 09.04.2006, added troubleshooting]
I am a happy qemu user (more here). When I read that VMPlayer (a free stripped down VMWare allowing to run but not to create or maintain hosts) was very fast so I decided to give it a try.
I have an up-and-running FC4 without X as a server for testing purposes installed with qemu.
Based on this example ths article will cover:
The qemu-img
utility allows you to create an image or to convert an exisiting image:
Create an image
qemu-img create -f raw <image> <size (e.g. 4G)>
Convert an image
qemu-img convert -f raw <qemu-image> -O <vmplayer-image (.vmdk ext)>
To run VMPlayer needs a .vmdk and a .vmx file. For my FC4 server it looks like (required changes are italic and explained below):
config.version = "8"
virtualHW.version = "3"
ide0:0.present = "TRUE"
ide0:0.filename = "fc4nox.vmdk"
memsize = "128"
MemAllowAutoScaleDown = "FALSE"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
ide1:0.autodetect = "TRUE"
floppy0.present = "FALSE"
ethernet0.present = "TRUE"
usb.present = "FALSE"
sound.present = "FALSE"
displayName = "Fedora Core 4"
guestOS = "other26xlinux"
nvram = "fc4nox.nvram"
MemTrimRate = "-1"
ide0:0.redo = ""
ethernet0.addressType = "generated"
ethernet0.connectionType = "nat"
uuid.location = "56 4d 0d 92 c9 cd 3c 25-c5 bf 91 91 43 5d bf 33"
uuid.bios = "56 4d 0d 92 c9 cd 3c 25-c5 bf 91 91 43 5d bf 33"
ethernet0.generatedAddress = "00:0c:29:5d:bf:33"
ethernet0.generatedAddressOffset = "0"
tools.syncTime = "TRUE"
ide1:0.startConnected = "TRUE"
uuid.action = "create"
checkpoint.vmState = ""
tools.remindInstall = "TRUE"
Following values have to be adapter to your settings:
ide0:0.filename
is the name of your .vmdk filememsize
is the memory to be allocated to the guest systemdisplayName
is the name of the guest system for the titlebarguestOS
qualifies the guest OS (see table below)nvram
is the name of the memory file created while running VMPlayerguestOS
must be one of the following:
"darwin" = Darwin (unsupported)
"other-64" = Other 64-bit OS
"other" = Other OS
"freeBSD-64" = freeBSD 64-bit
"freeBSD" = freeBSD
"solaris10-64" = Solaris 10 64-bit
"solaris10" = Solaris 10
"solaris9" = Solaris 9
"solaris8" = Solaris 8
"solaris7" = Solaris 7
"solaris6" = Solaris 6
"solaris" = Other Solaris
"netware6" = Netware 6.x
"netware5" = Netware 5.x
"netware4" = Netware 4.x
"netware" = Other Netware
"otherlinux-64" = Other Linux 64Bit
"linux" = Other Linux
"other26xlinux-64" = Other Linux 2.6.x 64-bit
"other26xlinux" = Other Linux 2.6.x
"other24xlinux-64" = Other Linux 2.4.x 64-bit
"other24xlinux" = Other Linux 2.4.x
"ubuntu-64" = Ubuntu Linux 64-bit
"ubuntu" = Ubuntu Linux
"turbolinux" = Turbo Linux
"mandrake" = Mandrake Linux
"sjds" = Sun Java Desktop System
"nld9" = Novell Linux Desktop 9
"sles-64" = SUSE Linux Enterprise Server 64-bit
"sles" = SUSE Linux Enterprise Server
"suse-64" = SUSE Linux 64-bit
"suse" = SUSE Linux
"rhel4-64" = Red Hat Enterprise Linux 4 64-bit
"rhel4" = Red Hat Enterprise Linux 4
"rhel3-64" = Red Hat Enterprise Linux 3 64-bit
"rhel3" = Red Hat Enterprise Linux 3
"rhel2" = Red Hat Enterprise Linux 2
"redhat" = Red Hat Linux
"winVista-64" = Windows Vista x64 Edition (experimental)
"winVista" = Windows Vista (experimental)
"longhorn-64" = Windows Longhorn x64 Edition (experimental)
"longhorn" = Windows Longhorn (experimental)
"winNetBusiness" = Windows Server 2003 Small Business
"winNetEnterprise-64" = Windows Server 2003 Enterprise x64 Edition
"winNetEnterprise" = Windows Server 2003 Enterprise Edition
"winNetStandard-64" = Windows Server 2003 Standard x64 Edition
"winNetStandard" = Windows Server 2003 Standard Edition
"winNetWeb" = Windows Server 2003 Web Edition
"winXPPro-64" = Windows XP Professional x64 Edition
"winXPPro" = Windows XP Professional Edition
"winXPHome" = Windows XP Home Edition
"win2000AdvServ" = Windows 2000 Advanced Server
"win2000Serv" = Windows 2000 Server
"win2000Pro" = Windows 2000 Professional
"winNT" = Windows NT
"winMe" = Windows Me
"win98" = Windows 98
"win95" = Windows 95
"win31" = Windows 3.1
"windows" = Other Windows
"MS-DOS" = MS-Dos
You may want to change the network configuration.
br>
Following attributes are relevant for network configuration (note that the "0" "in ethernet0" can also be 1 for a second adapter):
This option is worth some more explanation as it is not self explaining.
VMPlayer supports three network modes:
You may want to create an empty image with qemu and then install the guest OS in VMPlayer. Therefore you must give your guest OS access to the CD-ROM.
The nubering of the IDE devices goes like this:
ide1:0.present = “TRUE”
ide1:0.fileName = “c:\some-file.iso”
ide1:0.deviceType = “cdrom-image”
ide1:0.present = “TRUE”
ide1:0.fileName = “auto detect”
ide1:0.deviceType = “cdrom-raw”
A few interstiong references to read more about virtualisation:
Starting with FC4 Kernel 2.6.16-1.2069
I had the problem that mware-config.pl
stopped running as it was not finding the headers for my kernel, aborting with the error "The kernel defined by this directory of header files does not have the same address space size as your running kernel". This error is caused by the lack of support of FC4 (also see original discussion here). Fortunately there is vmware-any-any-update
to solve this problem.
runme.pl
to update vmplayer and rerun vmware-configMore details can be found here.
I don't know much about benchmarks but avter some research on Google I came up with the BYTE Linux benchmark.
After downloading and compiling LMBench I ran it on different configurations:
Configuration | Reading 1 | Reading 2 | Reading 3 |
1 | 126.1 | 120.0 | 129.0 |
2 | 114.4 | 126.5 | 122.9 |
3 | 121.8 | 119.0 | 120.0 |
4 | 10.2 | 10.6 | 10.6 |