Jump to content

VMware and all the Jazz!


MSoK
 Share

47 posts in this topic

Recommended Posts

PCEFI 10.6vm for VMware guests

 

Based on PCEFI 10.6 by netkas

 

Features:

  • Fixes the erratic flow of time when running Chameleon 2.0/PCEFI 10.x in a VMware virtual machine.
  • This fix prevents a potential deadlock in the XNU scheduler start-up code.
  • Sets reasonable values for FSBFrequency, CPUFrequency and TSCFrquency under all scenarios
    [These value are found in IODeviceTree:/efi/platform]
  • Injects the VM's UUID from the host backend into IODeviceTree:/efi/platform/system-id. This makes it unnecessary to use a separate kext (UUID.kext, PlatformUUID.kext) to solve the "unable to determine UUID for host. Error: 35" error.
  • The bootloader can also be used outside a virtual machine, since it detects the presence of VMware.

 

Installation

Install Chameleon on the hard drive using the regular installation method for Chameleon,

and then overwrite /boot with pcefi10.6vm/boot.

 

Boot Scenarios

 

With guestOS = "darwin..."

  • Use Donk's darwin-chain.iso to chain-boot from the CD to the hard drive.
  • Use vanilla darwin kernel.
  • Can use either vusb or ps/2 mouse-keyboard.

 

With guestOS = "freebsd..."

  • Can boot directly from the hard drive.
  • vusb does not work, so use ps/2 mouse-keyboard.
  • Can't use vanilla kernel for two reasons
    1. Intel MSR 0x198/0xCE for busratio not emulated.
    2. Artificial panic if Local APIC version is < 0x14 [this is on OS 10.6.x only].

    [*]If you're booting Leopard, can use AnV or Qoopz kernels with kernel options to patch for the busratio. Lapic version is not a problem with Leopard.

    [*]If you're booting SnowLepard, attached are patches I use for the darwin 10.4 kernel to fix these two problems. If you have a kernel build environment, you can build your own patched kernel. You can also try Qoopz's 10.6.x kernel. I'm not sure it patches for the Lapic version problem, because I haven't tried it.

 

Attached files

  • pcefi10.6vm.tar.gz - the bootloader
  • pcefi10.6vm.diff.txt - source diff for the patches relative to pcefi 10.6 (the sources for pcefi 10.6 can be found on netkas.org)
  • chamrc4vm.tar.gz - bootloader with same mods, but based on Chameleon 2.0-RC4 instead of pcefi 10.6.
  • chamrc4vm.diff.txt - source diff for the patches relative to Chameleon 2.0-RC4.
  • xnu_patch_Jun_18_2010.diff.txt - patches for darwin 10.4 to fix the problems mentioned above.

 

Edit [9/27/2011]: These bootloaders are obsolete. For a link to an up-to-date version see this post.

 

Old download counts

boot.pcefi10.5vm1.zip Number of downloads: 45

pcefi10.5vm1.diff.txt Number of downloads: 19

xnu_patch_Nov_14.diff.txt Number of downloads: 16

xnu_patch_Jun_18_2010.diff.txt

pcefi10.6vm.diff.txt

chamrc4vm.diff.txt

Link to comment
Share on other sites

PCEFI 10.5vm1 for VMware guests

 

Based on PCEFI 10.5 by netkas

 

Features:

  • Fixes the erratic flow of time when running Chameleon 2.0/PCEFI 10.x in a VMware virtual machine.
  • This fix prevents a potential deadlock in the XNU scheduler start-up code.
  • Sets reasonable values for FSBFrequency, CPUFrequency and TSCFrquency under all scenarios
    [These value are found in IODeviceTree:/efi/platform]
  • Injects the VM's UUID from the host backend into IODeviceTree:/efi/platform/system-id. This makes it unnecessary to use a separate kext (UUID.kext, PlatformUUID.kext) to solve the "unable to determine UUID for host. Error: 35" error.
  • The bootloader can also be used outside a virtual machine, since it detects the presence of VMware.

 

Installation

Install Chameleon on the hard drive using the regular installation method for Chameleon,

and then overwrite /boot with boot.pcefi10.5vm1.

 

Boot Scenarios

 

With guestOS = "darwin..."

  • Use Donk's darwin-chain.iso to chain-boot from the CD to the hard drive.
  • Use vanilla darwin kernel.
  • Can use either vusb or ps/2 mouse-keyboard.

 

With guestOS = "freebsd..."

  • Can boot directly from the hard drive.
  • vusb does not work, so use ps/2 mouse-keyboard.
  • Can't use vanilla kernel for two reasons
    1. Intel MSR 0x198/0xCE for busratio not emulated.
    2. Artificial panic if Local APIC version is < 0x14 [this is on OS 10.6.x only].

If you're booting Leopard, can use AnV or Qoopz kernels with kernel options to patch for the busratio. Lapic version is not a problem with Leopard.<li>If you're booting SnowLepard, attached are patches I use for the darwin 10.2 kernel to fix these two problems. If you have a kernel build environment, you can build your own patched kernel. You can also try Qoopz's 10.6.x kernel. I'm not sure it patches for the Lapic version problem, because I haven't tried it.

 

Attached files

  • boot.pcefi10.5vm1 - the bootloader
  • pcefi10.5vm1.diff.txt - source diff for the patches relative to pcefi 10.5 (the sources for pcefi 10.5 can be found on netkas.org)
  • xnu_patch_Nov_14.diff.txt - patches for darwin 10.2 to fix the problems mentioned above.

 

I'll build the cdboot as well and see how that fairs for the traditional darwin.iso as used by VMware. I had 2 issues one on reboot and occasionally during boots. I have ll the other kexts and that ready and setup for a CHameleon based boot.

Link to comment
Share on other sites

I'm very close to run SL under ESXi4 using Zenith system by creating a SL system disk under Leopard and then installing a patched kernel. The whole thing starts after 5 minutes waiting. Just no keyboard and mouse so I cant get past the initial server setup screen, but I'm sure that this is just a a vmx setting....

 

Keep you guys posted (Until Donk or Zenith comes with a vanilla type SL installer :-)

Link to comment
Share on other sites

The whole thing starts after 5 minutes waiting.
Remove AppleProfileFamily.kext from /System/Library/Extensions. It's in the guide.

 

Just no keyboard and mouse so I cant get past the initial server setup screen, but I'm sure that this is just a a vmx setting....
You need to install AppleACPIPS2Nub.kext and ApplePS2Controller.kext. They're in vmsl.tar.gz.

 

If you succeed, I'll upload a new kernel for you. The one in vmsl is darwin 10. Current one is 10.2.

Link to comment
Share on other sites

Remove AppleProfileFamily.kext from /System/Library/Extensions. It's in the guide.

 

You need to install AppleACPIPS2Nub.kext and ApplePS2Controller.kext. They're in vmsl.tar.gz.

 

If you succeed, I'll upload a new kernel for you. The one in vmsl is darwin 10. Current one is 10.2.

 

Need to make sure everyone knows to make sure they have matching System.kext and Seatbelt.kext, or there are issues with DMG and USB mounting.

 

Need to make sure everyone knows to make sure they have matching System.kext and Seatbelt.kext, or there are issues with DMG and USB mounting.

 

Zenith432 & Mac Son of Knife can I make a suggestion? We are now getting lots of topics mixed up in different posts. Shall we start some new ones to focus the discussions?

 

1. My original one for Leopard on Workstation 6.5 etc.

2. Zenith432's SL on 6.5.3 for exactly that.

3. Donk - new thread on SL on Workstation 7.0 etc.

4. Donk - new thread on SL on Fusion 3 on real Mac (have a new way of doing it)

5. Zenith432 - new thread on SL on ESXi 4

 

Then keep this post for general discussion. Your thoughts and also of others following the posts.

Link to comment
Share on other sites

Agree with Donk.. Sorry to Msok for abusing the general discussion.... I got all exited about this and forgot.... But now I don't have a place to tell that it works (yes yes yes :-)... Very happy now... I deleted the kext mentioned by Zenith but did't add any new ones... I just replaced the kernel and added the PCEfI bootstrap... That was enough to boot SL quickly and all seems working fine....

 

And now I'm doing it again... :-)

 

Ow.. And I would really like to have the new kernel, Zenith...

 

I would like to write a little guide for people who want to do this. I used your guides from two other topics here on InsanelyMac and I can imagine that people will get lost trying this out... I need to know you're ok with this and whether you guys are close to having a new method using vanilla... In that case this lil guide will be obsolete before posting...

 

Thx you guys...

Link to comment
Share on other sites

Need to make sure everyone knows to make sure they have matching System.kext and Seatbelt.kext, or there are issues with DMG and USB mounting.

 

 

 

Zenith432 & Mac Son of Knife can I make a suggestion? We are now getting lots of topics mixed up in different posts. Shall we start some new ones to focus the discussions?

 

1. My original one for Leopard on Workstation 6.5 etc.

2. Zenith432's SL on 6.5.3 for exactly that.

3. Donk - new thread on SL on Workstation 7.0 etc.

4. Donk - new thread on SL on Fusion 3 on real Mac (have a new way of doing it)

5. Zenith432 - new thread on SL on ESXi 4

 

Then keep this post for general discussion. Your thoughts and also of others following the posts.

 

Donk,

 

Sounds good to me, can you let me know how I can amend my origianlpost or the topic header to better reflect the new roll of the topic.

 

Cheers,

 

Mac SofK

Link to comment
Share on other sites

Donk: I'm very interested in your new way of installing osx client under Fusion... Cool :rolleyes:

 

The install of 10.6 server under ESXi is kinda strange but working very acceptable. The only problem I encounter is that I cannot add an extra disk inside SL bigger than 100 GB (POSIX error whilest formatting/partitioning)...

 

On a patched ESXi4 system (Donk's snowy darwin) I installed OSX 10.5 server and from there I did an offline install of SL, added PCefi boot thingies and finally the kernel from Zenith.. That's it... Didn't change the guestOS settings but did change keyboard.vusb.enable="FALSE". When I use any file located in vmsl (kext or Extra/smbios.plist) the OS crashes on what looks like PS2 (I cant read the screen dump very well).. Since I dont care about sound or VGA performance (its a server) it looks very acceptable to use...

 

Any thoughts on why I don't need/can't use any of the provided kext?

 

Cheers...

Link to comment
Share on other sites

1. My original one for Leopard on Workstation 6.5 etc.

2. Zenith432's SL on 6.5.3 for exactly that.

3. Donk - new thread on SL on Workstation 7.0 etc.

4. Donk - new thread on SL on Fusion 3 on real Mac (have a new way of doing it)

5. Zenith432 - new thread on SL on ESXi 4

 

Then keep this post for general discussion. Your thoughts and also of others following the posts.

Donk and Zenith432,

 

Any progress on Donk's recommendations, keen to contribute as relevant, also looking to invest in hardware to allow amongst other things SL on ESXi 4 Update 1 or ESX 4 Update 1, I have access to a legal license for all things vSphere 4.

 

Cheers!

Link to comment
Share on other sites

Donk and Zenith432,

 

Any progress on Donk's recommendations, keen to contribute as relevant, also looking to invest in hardware to allow amongst other things SL on ESXi 4 Update 1 or ESX 4 Update 1, I have access to a legal license for all things vSphere 4.

 

Cheers!

 

Work is hectic at the moment and I don't have time for a great dea of hacking, testing and replying to posts. I will try and do some stuff this weekend, but not a huge amount.

Link to comment
Share on other sites

Work is hectic at the moment and I don't have time for a great dea of hacking, testing and replying to posts. I will try and do some stuff this weekend, but not a huge amount.

 

Had a bit or a eureka moment yesterday and can use EFI BIOS from Fusion on Workstation to boot Snow Leopard. Setup will be slightly more involved, just like using a boot-132 CD to get a real machine working but once running no need for CD or ISO images. Needs some testing and of course documenting, which will take time.

Link to comment
Share on other sites

Had a bit or a eureka moment yesterday and can use EFI BIOS from Fusion on Workstation to boot Snow Leopard. Setup will be slightly more involved, just like using a boot-132 CD to get a real machine working but once running no need for CD or ISO images. Needs some testing and of course documenting, which will take time.

 

Hey Donk,

 

Work and family comes first, we all appreciate it takes a lot of time to get this OS X stuff working, let me know if I can help, say pulling documentation together, or testing.

 

Cheers!

Link to comment
Share on other sites

  • 4 weeks later...

I've been following the voluminous Workstation thread from Donk, yet my desire is to run SL Server on ESXi 4 Update 1. It would surely be appreciated if some addition insight to this request can be offered.

 

I have been successful in installing SL Server on Fusions 3 running on a hack, but that is not suitable for the proof of concept at hand.

 

Thanks in advance.

Link to comment
Share on other sites

I've been following the voluminous Workstation thread from Donk, yet my desire is to run SL Server on ESXi 4 Update 1. It would surely be appreciated if some addition insight to this request can be offered.

 

I have been successful in installing SL Server on Fusions 3 running on a hack, but that is not suitable for the proof of concept at hand.

 

Thanks in advance.

 

I was able to install SL on ESXi4 with help from Donk and Zenith, but it is kinda involved. In a nutshell, I installed Leopard using Donk's method. This is a great method which uses plain OSX (10.5) and some unsupported features in VMWare ESXi. With Leopard in place on ESXi4 you can then install SL using Zenith method. Although very well thought out, it's not vanilla. You have to use a patched kernel (which is up to date btw, 10.6.2).

Link to comment
Share on other sites

Hey all,

 

First off, Happy New Year to everyone. Looking forward to reading updates when everyone's back from their holiday breaks.

 

Second, I was also looking around to see if Donk's suggestion for separating the topics was in place but didn't see anything out there. Apologizes if I missed something.

 

Lastly, I am anxious to find out more about running SL on ESXi 4 Update 1. I've been able to get JaS 10.4, vanilla 10.5 and vanilla 10.6 up and running on VMware Player 3 thanks to Donk and others that have contributed so much to the OSx86 community. I plan on running ESXi 4 via Player 3 at first to work out my final setup on my future server. I sorta understood what eajlucas was talking about but I am lost on what Zenith432 was trying to explain. I tried to make it happen but I too saw that "Artificial panic if Local APIC version is < 0x14".

 

Hope to learn more soon! Keep up the great work.

Link to comment
Share on other sites

Hey all,

 

First off, Happy New Year to everyone. Looking forward to reading updates when everyone's back from their holiday breaks.

 

Second, I was also looking around to see if Donk's suggestion for separating the topics was in place but didn't see anything out there. Apologizes if I missed something.

 

Lastly, I am anxious to find out more about running SL on ESXi 4 Update 1. I've been able to get JaS 10.4, vanilla 10.5 and vanilla 10.6 up and running on VMware Player 3 thanks to Donk and others that have contributed so much to the OSx86 community. I plan on running ESXi 4 via Player 3 at first to work out my final setup on my future server. I sorta understood what eajlucas was talking about but I am lost on what Zenith432 was trying to explain. I tried to make it happen but I too saw that "Artificial panic if Local APIC version is < 0x14".

 

Hope to learn more soon! Keep up the great work.

 

I haven't had much time the last month or so to progress any work on this front. That may change relatively soon though.

Link to comment
Share on other sites

I plan on running ESXi 4 via Player 3 at first to work out my final setup on my future server.

I think you will need Workstation 7 to run ESXi 4, it is an optional guestOS in W7 but is not part of Player 3, so you will have to do some additional work.

 

This appears to be one of the main differences between W7 and P3, other than P3 needs to download the guestOS tools etc. as you need them rather than all being present in W7, hence the large difference in the initial download, also W7 is a cost option. Player 3 can create guestOS's and runs SL fine, and is free, Hoorah! (as one of my collegues says "we like free")

 

Cheers!

 

 

 

I haven't had much time the last month or so to progress any work on this front. That may change relatively soon though.

That sound ominous, hope all is well, or is it simply a slightly lighter load at work?

 

All the best, Mac SofK.

Link to comment
Share on other sites

I think you will need Workstation 7 to run ESXi 4, it is an optional guestOS in W7 but is not part of Player 3, so you will have to do some additional work.

 

That's sorta true. While there is no official guestOS for ESXi 4 on Player 3, you can install ESXi 4 by pointing to the .iso in the "Install from:" step. When you do this it comes up underneath the box as "ESX Server 4.0 detected." and then you can continue to install it normally.

 

FYI, I have ESXi 4 on Player 3 working and have made VM's in it. So there are no foreseen problems there. I have not attempted to do anything with VMware Tools inside ESXi 4 though. I did try to convert my SL VM on Player 3 to ESXi 4 and got the same "Artificial panic if Local APIC version is < 0x14", which I figured would happen.

 

And I can concur that SL with VMware Tools works well in Player 3 (Thanks again Donk).

Link to comment
Share on other sites

That's sorta true. While there is no official guestOS for ESXi 4 on Player 3, you can install ESXi 4 by pointing to the .iso in the "Install from:" step. When you do this it comes up underneath the box as "ESX Server 4.0 detected." and then you can continue to install it normally.

 

FYI, I have ESXi 4 on Player 3 working and have made VM's in it. So there are no foreseen problems there. I have not attempted to do anything with VMware Tools inside ESXi 4 though. I did try to convert my SL VM on Player 3 to ESXi 4 and got the same "Artificial panic if Local APIC version is < 0x14", which I figured would happen.

 

And I can concur that SL with VMware Tools works well in Player 3 (Thanks again Donk).

Thanks for the additional heads up. Yes, if you want a vanilla kernel I guess we will have to wait for ESXi to catch up ESXi 5!, as W7 and P3 are a version ahead, or some additional coding from Donk and Zenith432, if it is even possible currently with the vanilla kernel?

Link to comment
Share on other sites

Thanks for the additional heads up. Yes, if you want a vanilla kernel I guess we will have to wait for ESXi to catch up ESXi 5!, as W7 and P3 are a version ahead, or some additional coding from Donk and Zenith432, if it is even possible currently with the vanilla kernel?

 

ESX also works inside ESX and Fusion 2/3. VMware develop some of their code using the nested vm capability and pretty much all their courses and workshops are delivered with vm-on-vm.

Link to comment
Share on other sites

ESX also works inside ESX and Fusion 2/3. VMware develop some of their code using the nested vm capability and pretty much all their courses and workshops are delivered with vm-on-vm.

Thanks for the additonal, additional heads up, should have been aware of that from my guy's comments following VM training.

Link to comment
Share on other sites

  • 5 months later...
 Share

×
×
  • Create New...