Jump to content

VMware and all the Jazz!


MSoK
 Share

47 posts in this topic

Recommended Posts

OK I have been posting on Donk's fabulous virtualisation topic for a while, and long may it continue, and much thansk to Donk, Zenith432 et al for all the help in getting me up and running with OS X both L and SL in a VMware environment.

 

So why am I creating a new topic, I guess two reasons, one for a little less serious look at the whole OS X and VMware situation, i.e. more personal insights and comments rather than direct techical support (hey I will still be active in Donk's topic) just felt there should be a lighter option, also on the more technical side, looking at ESX 4, ESXi 4 and update 1, either standalone or running under Workstation 7, interesting I hope.

 

Please feel free to contribute, pass comment or just generally rant.

 

Speak soon!

 

Mac SofK

 

 

 

OK, Just for reference I have been looking at the the new Update 1 for ESX 4 and ESXi 4, build 208167 and the updated vSphere client, both of which appear to move the ball forward, will report back re ESX(i) 4 but immediately the new client offers direct support for Windows 7 32 or 64-Bit, no messing around with XP SP3 dll's so positive progress.

 

 

 

OK I have been posting on Donk's fabulous virtualisation topic for a while, and long may it continue, and much thansk to Donk, Zenith432 et al for all the help in getting me up and running with OS X both L and SL in a VMware environment.

 

So why am I creating a new topic, I guess two reasons, one for a little less serious look at the whole OS X and VMware situation, i.e. more personal insights and comments rather than direct techical support (hey I will still be active in Donk's topic) just felt there should be a lighter option, also on the more technical side, looking at ESX 4, ESXi 4 and update 1, either standalone or running under Workstation 7, interesting I hope.

 

Please feel free to contribute, pass comment or just generally rant.

 

Speak soon!

 

Mac SofK

 

 

 

OK, Just for reference I have been looking at the the new Update 1 for ESX 4 and ESXi 4, build 208167 and the updated vSphere client, both of which appear to move the ball forward, will report back re ESX(i) 4 but immediately the new client offers direct support for Windows 7 32 or 64-Bit, no messing around with XP SP3 dll's so positive progress.

 

Oh and finally, hopefully this for a topic which has a stronger VM orientation rather than OS X, bearing in mind where it is posted "InsanelyMac", so working with VMware to get the best out of retail OS X in the PC world. Great OS, Apple should release it to the world!!

Link to comment
Share on other sites

My idea of virtualization is having 6 operating systems boot on 6 surfaces of a 3D cube and they can interact with each other.

 

And it can be virtualized in any booted OS environment too.

 

That's a nice idea : ) do you have that already done or? I assume the screenshot is only to ilustrate the idea.

 

Only trouble is that 6 OS's virtualized would require at least two processors (from Intel Core 2 Quad to newer) and loads of ram. Assuming that you grant each virtual machine 1 - 2 GB and one processor core, you will be needing 10 to 12 GB ram just for VM's.

 

The best software for your idea can be either VMware Workstation 7 or VMware View 4. Since VMware View 4 is out, I would like to see impressions of those who tried it (it' looks promising... I just don't have time to test it).

 

Let me show you my "way of virtualization" : )

 

I use Windows 7 x64 powered by Intel Core 2 Quad, 8GB RAM and a 2x250GB non-RAID. I'm using VMware Workstation 7's virtual machines to surf the net and work. In that way you can have host OS partition safe and sound and if anything happens (rarely) just revert snapshot to previous state. So that way I never (except when updating) connect host OS to internet. This provides me more security for the host OS. And with using workstation's Unity option, possibilities are limitles.

 

Some of OS's I have virtualized:

 

1. Windows XP SP3 - daily internet usage, installed Avira Antivir and Zone Alarm Pro to keep me safe and sound. Disabled all unnecessary services and windows features for speed and security. Full-screen mode works stunning fast and unity too!

 

2. Ubuntu 9.10 - for play and sometimes work

 

3. Mac OS X 10.5.8 - thanks to Donk and Zenith432, I have really Mac OS X virtualized! Soon I will be buying Snow Leopard at Apple store and upgrade to it.

 

Cheers

Link to comment
Share on other sites

Hi MSoK and everybody else...

 

Nice topic. I have also followed the thread initiated by Donk about running OSX in VM and I was really impressed about the work he, you and others have done to make this all possible..

 

Let me explain what I like about this. I'm a proud owner of a Mac Pro (1.1), a Dell 2950 with raid and stuff and a iPhone. The Dell is running ESXi with SBS/Exchange 2007 for my email. Snow Leopard got me rid of Entourage (horrible product) and my iPhone connects smoothly (Contacts, calendar and email works great). Although everything works fine I just want it to work on OSX only and put an end to the SBS/Exchange server. The only way I can do this now is by installing SBS on the Dell (without ESXi first) and run Workstation 7 and then run SL. Doesn't make me happy at all. I have installed Leopard on ESXi and it runs fine but Leopard server doesn't support the iPhone (imagine that)...

 

After some fruitless hacking (well.. not hacking but trying and error and some more errors) and reading the DonkTopic I finally understand that I have to wait for ESXi5 before I have a change to see this work... By then I have already bought the new Mac Mini with SL :-)....

 

So the only thing I gained is that I can run SL (not server) on my mac using Fusion, which is kinda a great thing... Even though I already have a Mac...

 

Cheers

Link to comment
Share on other sites

Hi MSoK and everybody else...

 

Nice topic. I have also followed the thread initiated by Donk about running OSX in VM and I was really impressed about the work he, you and others have done to make this all possible..

 

Let me explain what I like about this. I'm a proud owner of a Mac Pro (1.1), a Dell 2950 with raid and stuff and a iPhone. The Dell is running ESXi with SBS/Exchange 2007 for my email. Snow Leopard got me rid of Entourage (horrible product) and my iPhone connects smoothly (Contacts, calendar and email works great). Although everything works fine I just want it to work on OSX only and put an end to the SBS/Exchange server. The only way I can do this now is by installing SBS on the Dell (without ESXi first) and run Workstation 7 and then run SL. Doesn't make me happy at all. I have installed Leopard on ESXi and it runs fine but Leopard server doesn't support the iPhone (imagine that)...

 

After some fruitless hacking (well.. not hacking but trying and error and some more errors) and reading the DonkTopic I finally understand that I have to wait for ESXi5 before I have a change to see this work... By then I have already bought the new Mac Mini with SL :-)....

 

So the only thing I gained is that I can run SL (not server) on my mac using Fusion, which is kinda a great thing... Even though I already have a Mac...

 

Cheers

 

Glad you like the new topic, early days, we will have to see how it develops.

 

Not quite sure what you are trying to acheive, you can run ESXi under Workstation 7, so I would guess the same would be true for Fusion 3, as it and Workstation 7 have a shared code base.

 

Good luck.

Link to comment
Share on other sites

Hi MSoK and everybody else...

 

Nice topic. I have also followed the thread initiated by Donk about running OSX in VM and I was really impressed about the work he, you and others have done to make this all possible..

 

Let me explain what I like about this. I'm a proud owner of a Mac Pro (1.1), a Dell 2950 with raid and stuff and a iPhone. The Dell is running ESXi with SBS/Exchange 2007 for my email. Snow Leopard got me rid of Entourage (horrible product) and my iPhone connects smoothly (Contacts, calendar and email works great). Although everything works fine I just want it to work on OSX only and put an end to the SBS/Exchange server. The only way I can do this now is by installing SBS on the Dell (without ESXi first) and run Workstation 7 and then run SL. Doesn't make me happy at all. I have installed Leopard on ESXi and it runs fine but Leopard server doesn't support the iPhone (imagine that)...

 

After some fruitless hacking (well.. not hacking but trying and error and some more errors) and reading the DonkTopic I finally understand that I have to wait for ESXi5 before I have a change to see this work... By then I have already bought the new Mac Mini with SL :-)....

 

So the only thing I gained is that I can run SL (not server) on my mac using Fusion, which is kinda a great thing... Even though I already have a Mac...

 

Cheers

 

Interesting post. I do have another method for running SL on Fusion3 on a real Mac, won't work for hacks. I will be posting it when I get some free time, but all my work on this is on the back burner whilst I deal with a bunch of stuff at work.

 

It may be possible to get SL running on ESXi 4, as Zentih 432 has done work on Workstation 6.5.3, but it is a lot more involved and requires upgrading an exisitng Leopard install and running a custom kernel. Thread is in this forum. However, it start diverging from retail which is what I have always been striving for in the work I do.

 

My reasons for starting the work for the reason I dual booted my real Mac and wanted to use proper ADC OS X images in Workstation on the same machine, and also boot the Mac partition. It then grew from there. For the future having one of the new client hypervisors, think ESXi for laptpos/desltops, running multiple OS seemlessly including OS X would be totally fantastic. See the demo from Citirx earlier this year. (Google for Project Independence). VMware are building one, but unfortunately will be tied to VMware View and not be useable directly on the host.

Link to comment
Share on other sites

Interesting post. I do have another method for running SL on Fusion3 on a real Mac, won't work for hacks. I will be posting it when I get some free time, but all my work on this is on the back burner whilst I deal with a bunch of stuff at work.

 

It may be possible to get SL running on ESXi 4, as Zentih 432 has done work on Workstation 6.5.3, but it is a lot more involved and requires upgrading an exisitng Leopard install and running a custom kernel. Thread is in this forum. However, it start diverging from retail which is what I have always been striving for in the work I do.

 

My reasons for starting the work for the reason I dual booted my real Mac and wanted to use proper ADC OS X images in Workstation on the same machine, and also boot the Mac partition. It then grew from there. For the future having one of the new client hypervisors, think ESXi for laptpos/desltops, running multiple OS seemlessly including OS X would be totally fantastic. See the demo from Citirx earlier this year. (Google for Project Independence). VMware are building one, but unfortunately will be tied to VMware View and not be useable directly on the host.

 

Hi Donk,

 

A bit off topic. I'm planning to test Citrix XenDesktop 4 next week. From all the tutorials it really looks promising. What are chances to run Mac OS X on XenDesktop?

 

Cheers,

 

an1r0n

Link to comment
Share on other sites

Hi Donk,

 

A bit off topic. I'm planning to test Citrix XenDesktop 4 next week. From all the tutorials it really looks promising. What are chances to run Mac OS X on XenDesktop?

 

Cheers,

 

an1r0n

 

Honestly don't know as I don't fully understand the Citirx portfolio. If they are using Xen as the hypervisor I'm not sure if it will possible. Yet the Project Independence demo shows that it can virtualize Mac OS X at least on a Mac. Post what you get up to as sounds interesting.

Link to comment
Share on other sites

Interesting post. I do have another method for running SL on Fusion3 on a real Mac, won't work for hacks. I will be posting it when I get some free time, but all my work on this is on the back burner whilst I deal with a bunch of stuff at work.

 

It may be possible to get SL running on ESXi 4, as Zentih 432 has done work on Workstation 6.5.3, but it is a lot more involved and requires upgrading an exisitng Leopard install and running a custom kernel. Thread is in this forum. However, it start diverging from retail which is what I have always been striving for in the work I do.

 

My reasons for starting the work for the reason I dual booted my real Mac and wanted to use proper ADC OS X images in Workstation on the same machine, and also boot the Mac partition. It then grew from there. For the future having one of the new client hypervisors, think ESXi for laptpos/desltops, running multiple OS seemlessly including OS X would be totally fantastic. See the demo from Citirx earlier this year. (Google for Project Independence). VMware are building one, but unfortunately will be tied to VMware View and not be useable directly on the host.

 

The beauty of your solution lies indeed in the use of a retail version of snow leopard. That it is easily do able is just a great extra bonus for which I am very thankful (I will stop thanking you now for your great work).

 

For me, Snow Leopard server should run mail, calendaring, contacts, dns, dhcp, etc... it must always run and it cannot be killed because there is an upgrade or something similar. Non the less, I'm very interested Zentih 432 posts but can't find it (is the spelling correct?)...

 

And it would be totally awesome if there was an desktop bare metal hypervisor... Didn't know something like that was into the making. Although having VM's inside an OS is very helpfull , it still feels like a workaround for the real thing.

 

Cheers.

Link to comment
Share on other sites

The beauty of your solution lies indeed in the use of a retail version of snow leopard. That it is easily do able is just a great extra bonus for which I am very thankful (I will stop thanking you now for your great work).

 

For me, Snow Leopard server should run mail, calendaring, contacts, dns, dhcp, etc... it must always run and it cannot be killed because there is an upgrade or something similar. Non the less, I'm very interested Zentih 432 posts but can't find it (is the spelling correct?)...

 

And it would be totally awesome if there was an desktop bare metal hypervisor... Didn't know something like that was into the making. Although having VM's inside an OS is very helpfull , it still feels like a workaround for the real thing.

 

Cheers.

 

For reference it is zenith432, I will see if I can find the topic, good hunting.

Link to comment
Share on other sites

Honestly don't know as I don't fully understand the Citirx portfolio. If they are using Xen as the hypervisor I'm not sure if it will possible. Yet the Project Independence demo shows that it can virtualize Mac OS X at least on a Mac. Post what you get up to as sounds interesting.

 

OK, will do... but not 6th or 7th december, unfortunately I have some work to do.

 

Cheers

Link to comment
Share on other sites

It may be possible to get SL running on ESXi 4, as Zentih 432 has done work on Workstation 6.5.3, but it is a lot more involved and requires upgrading an exisitng Leopard install and running a custom kernel. Thread is in this forum. However, it start diverging from retail which is what I have always been striving for in the work I do.
In order to boot vanilla SL kernel on vmware you need 3 things:

1) busratio reported in the MSR for it.

2) Local APIC version >= 0x14.

3) Get the virtual TSC to work right from the get-go so it doesn't cause a deadlock in the XNU scheduler start-up code.

 

Those are the 3 things I patched in the kernel. VMware's backend does these things right only if you set guestOS = "darwin...". If you set guestOS = "freebsd...", they don't work. vusb mouse & keyboard don't work either, but that can be worked around with ps/2.

 

Problem is, if you set guestOS = "darwin...", VMware's guest legacy BIOS refuses to boot from the hard drive. It only boots from a CD. The best solution I think is to make a small CD bootloader that will redirect and continue looking for boot sectors on hard drives. Then you can install Chameleon/pcefi on the hard-drive and use them with guestOS = "darwin...". Today I have to boot the hard drive with "freebsd...".

Link to comment
Share on other sites

In order to boot vanilla SL kernel on vmware you need 3 things:

1) busratio reported in the MSR for it.

2) Local APIC version >= 0x14.

3) Get the virtual TSC to work right from the get-go so it doesn't cause a deadlock in the XNU scheduler start-up code.

 

Those are the 3 things I patched in the kernel. VMware's backend does these things right only if you set guestOS = "darwin...". If you set guestOS = "freebsd...", they don't work. vusb mouse & keyboard don't work either, but that can be worked around with ps/2.

 

Problem is, if you set guestOS = "darwin...", VMware's guest legacy BIOS refuses to boot from the hard drive. It only boots from a CD. The best solution I think is to make a small CD bootloader that will redirect and continue looking for boot sectors on hard drives. Then you can install Chameleon/pcefi on the hard-drive and use them with guestOS = "darwin...". Today I have to boot the hard drive with "freebsd...".

 

Actually I released that about a year ago. I'll find it and post it again.

 

Edit: Attached a version of darwin.iso that chain boots. Usual procedure to install.

darwin_chain.zip

Link to comment
Share on other sites

In order to boot vanilla SL kernel on vmware you need 3 things:

1) busratio reported in the MSR for it.

2) Local APIC version >= 0x14.

3) Get the virtual TSC to work right from the get-go so it doesn't cause a deadlock in the XNU scheduler start-up code.

 

Those are the 3 things I patched in the kernel. VMware's backend does these things right only if you set guestOS = "darwin...". If you set guestOS = "freebsd...", they don't work. vusb mouse & keyboard don't work either, but that can be worked around with ps/2.

 

Problem is, if you set guestOS = "darwin...", VMware's guest legacy BIOS refuses to boot from the hard drive. It only boots from a CD. The best solution I think is to make a small CD bootloader that will redirect and continue looking for boot sectors on hard drives. Then you can install Chameleon/pcefi on the hard-drive and use them with guestOS = "darwin...". Today I have to boot the hard drive with "freebsd...".

 

Thx Zenith... Do I understand you correct if I say that you know what is wrong (APIC, MSR and TSC) and how to correct it (patched kernel), but it is not installable because ESXi boots from CD ?

 

Did you get SL to run under ESXi somehow?

 

 

 

Actually I released that about a year ago. I'll find it and post it again.

 

Edit: Attached a version of darwin.iso that chain boots. Usual procedure to install.

 

;)

 

You guys.... Zenith says if you do this and that it should work. Donk say: well I did this and that a year ago.... I'm lost... very lost....

 

Donk: What does the darwin chain iso do that can make SL run under ESXi?

Link to comment
Share on other sites

Thx Zenith... Do I understand you correct if I say that you know what is wrong (APIC, MSR and TSC) and how to correct it (patched kernel), but it is not installable because ESXi boots from CD ?

 

Did you get SL to run under ESXi somehow?

 

 

 

 

 

;)

 

You guys.... Zenith says if you do this and that it should work. Donk say: well I did this and that a year ago.... I'm lost... very lost....

 

Donk: What does the darwin chain iso do that can make SL run under ESXi?

 

Nothing yet it was really just for Zenith432 to try out in his experiments. (It was part of the original 1.0 release I did that actually used preconfigured virtual disks for the setup.)

Link to comment
Share on other sites

My idea of virtualization is having 6 operating systems boot on 6 surfaces of a 3D cube and they can interact with each other.

 

And it can be virtualized in any booted OS environment too.

 

beryl-3d-desktop.jpg

 

6 copies of VMware Workstation running across 6 virtual desktops. One VMware instance per desktop. Host running something like DeskCube. Your vision can be a reality if you really want. I really don't see the point though, other than geek appeal.

Link to comment
Share on other sites

Nothing yet it was really just for Zenith432 to try out in his experiments.
Thanks a lot for the CD chain bootloader. I've been busy with other stuff so I haven't had a chance to try it yet. I'll see if I can get it to boot pcefi from the hard disk with guestOS = "darwin".

 

 

Thx Zenith... Do I understand you correct if I say that you know what is wrong (APIC, MSR and TSC) and how to correct it (patched kernel), but it is not installable because ESXi boots from CD ?

Did you get SL to run under ESXi somehow?

No. The problems I listed are the reasons why you can't boot vanilla when using guestOS = "freebsd...". I've never tried ESXi. I did get SL to boot on Workstation 6.5.x with "freebsd" by patching the kernel. What Donk suggested is that it may be possible to get SL to boot on ESXi 4 the same way - with a patched kernel and "freebsd". It's impossible to know if this works without trying.
Link to comment
Share on other sites

Thanks a lot for the CD chain bootloader. I've been busy with other stuff so I haven't had a chance to try it yet. I'll see if I can get it to boot pcefi from the hard disk with guestOS = "darwin".

 

 

No. The problems I listed are the reasons why you can't boot vanilla when using guestOS = "freebsd...". I've never tried ESXi. I did get SL to boot on Workstation 6.5.x with "freebsd" by patching the kernel. What Donk suggested is that it may be possible to get SL to boot on ESXi 4 the same way - with a patched kernel and "freebsd". It's impossible to know if this works without trying.

It's finally clear to me now... thx Zenith... I've found your procedure to get SL running in workstation and will apply it to my server this weekend. It will take some time because I first have to reinstall ESXi (no problem) and on top of that SBS (just very annoying but not a problem), Install Leopard (using Donks procedure, done that before) and finally your solution to try to get SL running... Will keep you posted about any progress...

Link to comment
Share on other sites

Actually I released that about a year ago. I'll find it and post it again.
Donk, your chain booter works like a charm. It boots pcefi 10.5 off the hard disk, with vanilla SL kernel (64-bit) and guestOS = "darwin10-64". It sets the right FSBFrequency in the DeviceTree (or causes pcefi to set it right.) The CPU frequency reported by "About this Mac" and System Profiler is correct. vusb mouse & keyboard work the way they should. I'm blown away by this. I could never get any other setup to do everything right, not even with snowy-darwin/darwin-wks7.

 

[still in shock]

Link to comment
Share on other sites

Donk, your chain booter works like a charm. It boots pcefi 10.5 off the hard disk, with vanilla SL kernel (64-bit) and guestOS = "darwin10-64". It sets the right FSBFrequency in the DeviceTree (or causes pcefi to set it right.) The CPU frequency reported by "About this Mac" and System Profiler is correct. vusb mouse & keyboard work the way they should. I'm blown away by this. I could never get any other setup to do everything right, not even with snowy-darwin/darwin-wks7.

 

[still in shock]

 

 

Zenith432,

 

When you come out of shock, would it be possible to give us simpletons some pointers, how to acheive this, i.e. SL in ESXi 4. Keen to give it a go!

 

Cheers,

 

Mac SofK.

Link to comment
Share on other sites

When you come out of shock
I'm deshocked. The problems of the busratio and lapic version are solved, but the deadlock in the XNU scheduler is still there. I didn't notice it at first because it only happens if you boot too fast after starting the VM. But it's there.

 

This deadlock happens because the flow of time in the VM goes completely bonkers in the first 30 seconds or so.

 

So... I figured.... VMware's native bootloader written by dfe does not cause this irregular flow of time. It's only Chameleon 2.0 or later that causes it. So Chameleon must be doing something bad that dfe's original bootloader didn't.

 

So I did some digging and found it... it's the function measure_tsc_frequency in freq_detect.c. It's ripping a hole in the spacetime continuum (:)). It tweaks the NMI register and system timers in a way that messes up the VM's timeline. I compared some old sources, and this function has been completely reworked since dfe's original version, which is what VMware must be using.

 

I'll need a few days to fix this, and make a patched version of pcefi that boots vanilla darwin without deadlock.

Link to comment
Share on other sites

I'm deshocked. The problems of the busratio and lapic version are solved, but the deadlock in the XNU scheduler is still there. I didn't notice it at first because it only happens if you boot too fast after starting the VM. But it's there.

 

This deadlock happens because the flow of time in the VM goes completely bonkers in the first 30 seconds or so.

 

So... I figured.... VMware's native bootloader written by dfe does not cause this irregular flow of time. It's only Chameleon 2.0 or later that causes it. So Chameleon must be doing something bad that dfe's original bootloader didn't.

 

So I did some digging and found it... it's the function measure_tsc_frequency in freq_detect.c. It's ripping a hole in the spacetime continuum ( ;) ). It tweaks the NMI register and system timers in a way that messes up the VM's timeline. I compared some old sources, and this function has been completely reworked since dfe's original version, which is what VMware must be using.

 

I'll need a few days to fix this, and make a patched version of pcefi that boots vanilla darwin without deadlock.

 

Zenith432,

 

Thanks for the update, to be honest 95% went over my head, nuts and bolts man myself, hit it hard enough with a hammer :( was that my thumb! But sounds like you have the "bit" between your teeth, so let us know when you are ready for us, we can fix the spacetime continuum with a layer of bricks :D , low life's have a go!

 

Cheers,

 

Mac SofK.

Link to comment
Share on other sites

I'm deshocked. The problems of the busratio and lapic version are solved, but the deadlock in the XNU scheduler is still there. I didn't notice it at first because it only happens if you boot too fast after starting the VM. But it's there.

 

This deadlock happens because the flow of time in the VM goes completely bonkers in the first 30 seconds or so.

 

So... I figured.... VMware's native bootloader written by dfe does not cause this irregular flow of time. It's only Chameleon 2.0 or later that causes it. So Chameleon must be doing something bad that dfe's original bootloader didn't.

 

So I did some digging and found it... it's the function measure_tsc_frequency in freq_detect.c. It's ripping a hole in the spacetime continuum ( ;) ). It tweaks the NMI register and system timers in a way that messes up the VM's timeline. I compared some old sources, and this function has been completely reworked since dfe's original version, which is what VMware must be using.

 

I'll need a few days to fix this, and make a patched version of pcefi that boots vanilla darwin without deadlock.

 

That's interesting as I have had problems with the Chameleon 2 RC3 based version of darwin.iso that I was building.

Link to comment
Share on other sites

That's interesting as I have had problems with the Chameleon 2 RC3 based version of darwin.iso that I was building.

 

Guys,

 

Sounds like some common ground, let me know if I can be a test mule on any of this stuff.

Link to comment
Share on other sites

 Share

×
×
  • Create New...