Problems with FreeBSD 6.0 as VMware Workstation Guest
I've encountered a problem running FreeBSD 6.0 as a guest OS in VMware Workstation 5.0. I discovered the FreeBSD VM runs at half speed, such that 10 seconds of real time appears to be 5 or so seconds within the VM. I tried installing the vmware-guestd port but that had no effect, even though it is running in the VM.
After reading this post, I tried changing this sysctl:
That had no effect. This is my freebsd.vmx file:
Originally the file had the last variable appear thus:
Either setting had no effect. The host OS is Windows Server 2003 Enterprise x64 Edition SP1. The weird part of this is that a FreeBSD 5.4 VM running within exactly the same parameters has no problem on this system. This does not appear to be an isolated problem.
Is anyone successfully running FreeBSD 6.0 within VMware Workstation?
Update: I just copied a complete clone of this VM to my Windows 2000 Professional laptop running the same version of VMware Workstation. (Yes, I have two licenses!) :) It made no difference. The 5.5 RC2, VMware Workstation 5.5.0 build-18007, was no better with FreeBSD 6.0 as far as time goes. However, the excessive beeping that I saw with FreeBSD 6.0 on VMware WS 5.0 was shortened considerable on WS 5.5.
I just posted this story as a question to the VMTN forums. I also posted to freebsd-emulation.
After reading this post, I tried changing this sysctl:
gruden:/root# sysctl -a kern.timecounter.hardware
kern.timecounter.hardware: ACPI-fast
gruden:/root# sysctl kern.timecounter.hardware=TSC
kern.timecounter.hardware: ACPI-fast -> TSC
That had no effect. This is my freebsd.vmx file:
config.version = "8"
virtualHW.version = "4"
scsi0.present = "TRUE"
scsi0.virtualDev = "lsilogic"
memsize = "128"
ide0:0.present = "TRUE"
ide0:0.fileName = "FreeBSD-000003.vmdk"
ide1:0.present = "TRUE"
ide1:0.fileName = "auto detect"
ide1:0.deviceType = "cdrom-raw"
floppy0.fileName = "A:"
ethernet0.present = "TRUE"
usb.present = "FALSE"
sound.present = "FALSE"
sound.virtualDev = "es1371"
displayName = "freebsd6-0_a"
guestOS = "freebsd"
nvram = "freebsd.nvram"
sound.startConnected = "FALSE"
usb.generic.autoconnect = "FALSE"
floppy0.startConnected = "FALSE"
ide0:0.redo = ""
ethernet0.addressType = "generated"
uuid.location = "56 4d 1e 0b c0 77 f6 f2-55 f3 38 5f 3a 47 3e b3"
uuid.bios = "56 4d 1e 0b c0 77 f6 f2-55 f3 38 5f 3a 47 3e b3"
tools.remindInstall = "FALSE"
ethernet0.generatedAddress = "00:0c:29:47:3e:b3"
ethernet0.generatedAddressOffset = "0"
ide1:0.startConnected = "FALSE"
tools.syncTime = "TRUE"
Originally the file had the last variable appear thus:
tools.syncTime = "FALSE"
Either setting had no effect. The host OS is Windows Server 2003 Enterprise x64 Edition SP1. The weird part of this is that a FreeBSD 5.4 VM running within exactly the same parameters has no problem on this system. This does not appear to be an isolated problem.
Is anyone successfully running FreeBSD 6.0 within VMware Workstation?
Update: I just copied a complete clone of this VM to my Windows 2000 Professional laptop running the same version of VMware Workstation. (Yes, I have two licenses!) :) It made no difference. The 5.5 RC2, VMware Workstation 5.5.0 build-18007, was no better with FreeBSD 6.0 as far as time goes. However, the excessive beeping that I saw with FreeBSD 6.0 on VMware WS 5.0 was shortened considerable on WS 5.5.
I just posted this story as a question to the VMTN forums. I also posted to freebsd-emulation.
Comments
I have tried it with GSX, but not Workstation. I didn't check the timing however since its apparent speed was fine.
1) When the boot loader comes up the machine beeps for something like 5 seconds, drives me mad.
2) Sometimes I get errors on the console about processes having some timeshift or a few micro seconds
VMWare workstation, XP, AMD 2800 32bit machine
other than that it works a charm.
There was a thread on stable@ around this subject and the topic was: 6.0 on VMWare 5.0: `calcru: negative runtime of -12728437 usec for pid 28 (irq17: lnc0)'
kern.hz="100"
The default was raised to 1000 in FreeBSD 6. IIRC, it has been 100 in previous versions.
gruden:/root# ntpdate 192.168.2.7
15 Nov 08:48:10 ntpdate[504]: step time server 192.168.2.7 offset -3.961761 sec
gruden:/root# sysctl -a | grep clockrate
kern.clockrate: { hz = 100, tick = 10000, profhz = 66, stathz = 13 }
hw.clockrate: 3246
gruden:/root# ntpdate 192.168.2.7
15 Nov 08:48:17 ntpdate[507]: step time server 192.168.2.7 offset -3.980486 sec
In /boot/loader.conf , add:
hint.apic.0.disabled=1
Or, comment out the "device apic" line in your kernel config file and rebuild, if you're one of Those People.
-Ed
gruden:/root# date && ntpdate 192.168.2.7
Thu Nov 17 15:28:48 EST 2005
17 Nov 15:28:48 ntpdate[513]: adjust time server 192.168.2.7 offset -0.011940 sec
gruden:/root# date && ntpdate 192.168.2.7
Thu Nov 17 15:29:00 EST 2005
17 Nov 15:29:00 ntpdate[515]: adjust time server 192.168.2.7 offset 0.033098 sec
Thank you!
The timing on my side was really bad, I lost about 6 seconds for every 10 second interval.
By the way, I am testing on GSX server 3.2, FreeBSD 6.0-BETA5.
Thanks again!
---Jaco
... using various of the of the available tips.
- uses FreeBSD as the host OS; and
- runs at or near native speed
many thanks
add the following to /boot/device.hints
hint.acpi.0.disabled="1"
Patrick Paradis
Patrick.Paradis@Alphamosaik.com