Jump to content

Workstation 8/9/10, Player 4/5/6 and Fusion 4/5/6 Mac OS X Unlocker


Donk
 Share

543 posts in this topic

Recommended Posts

I had OS X 10.7.3 running on Workstation 8.0.3 unlocked with Unlocker 1.0.2. I updated to 10.7.4 last night and, as mentioned above by a couple of people, on restart, it looks like OS X isn't starting up (you see the gray background with the Apple logo with no significant disk activity). I thought it was hung, but I just let it sit there and after about 25-30 minutes, it finally loaded the desktop.

 

Donk, are you saying that the technical preview will not have this delay? I thought that this Workstation build was a preview for an upcoming release version (i.e. 8.0.3) since it has a considerably earlier build number. I actually had the tech preview before yesterday, but, if I recall correctly, it wasn't able to start my SL 10.6.8 and I think that was the reason I "upgraded" to Workstation 8.0.3. I then proceeded to upgrade SL with a 10.7.3 .dmg and that seemed to work OK (well, with worse glitches around video and audio, but I hadn't tried to do anything about those), as I mentioned above.

Link to comment
Share on other sites

@donk, thanks for suggesting the 2012 preview. Whilst I had this running on Win8 cp, due to the debug (which means less performance), I did not install it on Win7, up until now.

 

The trouble I had to go through to get ML DP1 to run on vmware 8, and yet on 2012 it just installs without replacing appelsifusionmpt.kext and messing with fakesmc.kext. The same is true for Osx 10.7, updating it to 10.7.4 also went without any problems, boot times are normal.

Link to comment
Share on other sites

@donk: Thank you very much for this 1.1.0 release.

I had VM8.0.3 on Linux working fine with 1.0.2 and SL10.6.8 & L10.7.3. I uninstalled 1.0.2 and re-ran the 1.1.0 installer.

No issue to report so far.

One thing I'd like to mention, though, is this:

- When I open my MacOSX VMs (not Shared), they show up correctly as 'MacOSX 10.x 64bit'.

- However, if I 'share' the VMs so I can access them through a remote VMWare Workstation, they show up as 'Other 32bit' even though the .vmx stills bears 'darwin-64'.. That is, until I attempt to edit the VM's config and -then- it changes to other-32.

 

Perhaps this is because another binary needs to be patched.. (/usr/lib/vmware/bin/vmware-hostd, maybe)

 

On my Linux box, vmware-hostd bears references to OSX but they don't show up when VMware Workstation is used as a remote client.

# strings -a /usr/lib/vmware/bin/vmware-hostd|grep -i darwin

GuestOS_IsDarwin

_ZN3Vim2Vm17GuestOsDescriptor31GUESTOSFAMILY_DARWINGUESTFAMILYE

_ZN3Vim2Vm17GuestOsDescriptor34GUESTOSIDENTIFIER_DARWIN11_64GUESTE

_ZN3Vim2Vm17GuestOsDescriptor29GUESTOSIDENTIFIER_DARWINGUESTE

_ZN3Vim2Vm17GuestOsDescriptor31GUESTOSIDENTIFIER_DARWIN64GUESTE

_ZN3Vim2Vm17GuestOsDescriptor31GUESTOSIDENTIFIER_DARWIN10GUESTE

_ZN3Vim2Vm17GuestOsDescriptor31GUESTOSIDENTIFIER_DARWIN11GUESTE

_ZN3Vim2Vm17GuestOsDescriptor34GUESTOSIDENTIFIER_DARWIN10_64GUESTE

darwinGuest

*darwin64Guest

darwin10Guest

*darwin10_64Guest

darwin11Guest

*darwin11_64Guest

darwin

darwin-64

darwin10

darwin10-64

darwin11

darwin11-64

darwinGuestFamily

biosIsGOSDarwin

isolation.bios.IsGOS.Darwin

@&!*@*@(msg.gostable.family.darwin)Apple Mac OS X

@&!*@*@(msg.gostable8.guest.darwin11)Mac OS X 10.7

@&!*@*@(msg.gostable8.guest.darwin11-64)Mac OS X 10.7 64-bit

@&!*@*@(msg.gostable8.guest.darwin10)Mac OS X Server 10.6

@&!*@*@(msg.gostable8.guest.darwin10-64)Mac OS X Server 10.6 64-bit

@&!*@*@(msg.gostable8.guest.darwin)Mac OS X Server 10.5

@&!*@*@(msg.gostable8.guest.darwin-64)Mac OS X Server 10.5 64-bit

Link to comment
Share on other sites

@donk: Thank you very much for this 1.1.0 release. I had VM8.0.3 on Linux working fine with 1.0.2 and SL10.6.8 & L10.7.3. I uninstalled 1.0.2 and re-ran the 1.1.0 installer. No issue to report so far. One thing I'd like to mention, though, is this: - When I open my MacOSX VMs (not Shared), they show up correctly as 'MacOSX 10.x 64bit'. - However, if I 'share' the VMs so I can access them through a remote VMWare Workstation, they show up as 'Other 32bit' even though the .vmx stills bears 'darwin-64'.. That is, until I attempt to edit the VM's config and -then- it changes to other-32. Perhaps this is because another binary needs to be patched.. (/usr/lib/vmware/bin/vmware-hostd, maybe) On my Linux box, vmware-hostd bears references to OSX but they don't show up when VMware Workstation is used as a remote client.

 

Just verified that on Windows as well, although it appears to be cosmetic as the VM powers up. I will take a look when I get a chance. Thanks.

Link to comment
Share on other sites

@Donk: I love your work, btw! And thank you so much for the source too, it's really nice to have that and rare enough to mention.

About the issue, I agree it's 'comsetic', although if you edit the Shared VM's configuration, the OS type will change to 'Other-32' and render the machine unbootable (at least on Linux).

To work around this issue, I've made my MacOSX Shared .vmx files immutable on Linux but it would be a 'nice to have' if this could get fixed.

Please don't hesitate to contact me if you would like help in testing this out. I'm surprised that ESXi doesn't exhibit this issue, perhaps this is because it's using a different Client..

Many Thanks once again,

Link to comment
Share on other sites

Thanks, it is nice to get an appreciative post once in awhile. I should say that Zenith432 wrote the C code originally, but I have hacked on it especially for the latest release. The other area I am closing in on is making vCenter power on OS X VMs. It is a host setting smcPresent that is queried via the API that needs setting to true. ESXi hostd ignores it and allows the operations, but vCenter uses a daemon vpxa which seems to need that variable set. Anyway, whilst I don't have time to answer a lot of questions on the forums these days, I do keep chipping away at the remaining problems. Cheers!

Link to comment
Share on other sites

@Donk: obviously it's not as simple as before, I tried the following patch and it didn't make any difference.. although it appeared to patch vmware-hostd just fine:

[....]

Patching /usr/lib/vmware/bin/vmware-hostd

File mapped @0x2afd25203000 length 60149488

Found SRVR @ 0x2afd278198eb

Found SRVR @ 0x2afd27819983

Found SRVR @ 0x2afd27819994

Found SRVR @ 0x2afd278199a7

Found SRVR @ 0x2afd2781f6ea

Found SRVR @ 0x2afd2781f708

Found SRVR @ 0x2afd2781f9d2

 

[....]

 

===================================================================

RCS file: RCS/Unlocker.cpp,v

retrieving revision 1.1

diff -c -r1.1 Unlocker.cpp

*** Unlocker.cpp 2012/05/11 14:42:44 1.1

--- Unlocker.cpp 2012/05/11 14:49:56

***************

*** 79,84 ****

--- 79,85 ----

char const vmx_stats[] = "vmware-vmx-stats";

char const vmwarebase[] = "libvmwarebase.so.0";

char const install_path[] = "/usr/lib/vmware/";

+ char const vmx_hostd[] = "vmware-hostd";

char const vmx_path[] = "bin/";

char const vmwarebase_path[] = "lib/libvmwarebase.so.0/";

#endif /* __ESXi__ || __linux__ */

***************

*** 656,661 ****

--- 657,665 ----

workPath.assign(vmwarebasePath);

workPath.append(&vmwarebase[0], sizeof vmwarebase - 1U);

patch_one(workPath, 0); // ignore error

+ workPath.assign(vmxPath);

+ workPath.append(&vmx_hostd[0], sizeof vmx_hostd - 1U);

+ patch_one(workPath, 1);

#endif /* _WIN32 || __linux__ */

#ifdef _WIN32

if (vmxPath64.empty()) {

 

What do you think?

Link to comment
Share on other sites

I suspect we need t patch the guestos table only as in libvmwarebase.so. The multiple SRVR found messages means definitely don't want to patch SRVR, OSK0 and OSK1. Can you see what shared libs are loaded for hostd?

Link to comment
Share on other sites

Hello Donk. Thanks for the quick reply.. here's a pmap of vmware-hostd on my machine with the relevant parts:

 

# pmap 14141|grep lib/vmware

14141: /usr/lib/vmware/bin/vmware-hostd -a /etc/vmware/hostd/config.xml

0000000000400000 48080K r-x-- /usr/lib/vmware/bin/vmware-hostd

00000000034f3000 9536K r---- /usr/lib/vmware/bin/vmware-hostd

0000000003e43000 1108K rw--- /usr/lib/vmware/bin/vmware-hostd

00002aaab3649000 1356K r-x-- /usr/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8

00002aaab379c000 1024K ----- /usr/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8

00002aaab389c000 148K rw--- /usr/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8

00002aaab38c5000 292K r-x-- /usr/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8

00002aaab390e000 1020K ----- /usr/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8

00002aaab3a0d000 28K rw--- /usr/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8

00002b576df0d000 8140K r-x-- /usr/lib/vmware/lib/libvmacore.so/libvmacore.so

00002b576e700000 2048K ----- /usr/lib/vmware/lib/libvmacore.so/libvmacore.so

00002b576e900000 600K r---- /usr/lib/vmware/lib/libvmacore.so/libvmacore.so

00002b576e996000 80K rw--- /usr/lib/vmware/lib/libvmacore.so/libvmacore.so

00002b576e9b7000 4836K r-x-- /usr/lib/vmware/lib/libvmomi.so/libvmomi.so

00002b576ee70000 2048K ----- /usr/lib/vmware/lib/libvmomi.so/libvmomi.so

00002b576f070000 392K r---- /usr/lib/vmware/lib/libvmomi.so/libvmomi.so

00002b576f0d2000 24K rw--- /usr/lib/vmware/lib/libvmomi.so/libvmomi.so

00002b576f5ea000 548K r-x-- /usr/lib/vmware/lib/libnfc-types.so/libnfc-types.so

00002b576f673000 2048K ----- /usr/lib/vmware/lib/libnfc-types.so/libnfc-types.so

00002b576f873000 72K r---- /usr/lib/vmware/lib/libnfc-types.so/libnfc-types.so

00002b576f885000 16K rw--- /usr/lib/vmware/lib/libnfc-types.so/libnfc-types.so

00002b576f88d000 9388K r--s- /usr/lib/vmware/icu/icudt44l.dat

 

I found tracks of darwin-* in libvmacore.so only..

 

# strings -a /usr/lib/vmware/bin/vmware-hostd |grep libv.*\.so

libvmacore.so

libvmomi.so

 

# strings -a /usr/lib/vmware/lib/libvmacore.so/libvmacore.so |grep -i darwin

GuestOS_IsDarwin

darwin

darwin-64

darwin10

darwin10-64

darwin11

darwin11-64

@&!*@*@(button.guestDarwin9)Mac OS X Server 10.5

@&!*@*@(button.guestDarwin9_64)Mac OS X Server 10.5 64-bit

@&!*@*@(button.guestDarwin10)Mac OS X Server 10.6

@&!*@*@(button.guestDarwin10_64)Mac OS X Server 10.6 64-bit

@&!*@*@(button.guestDarwin11)Mac OS X Server 10.7

@&!*@*@(button.guestDarwin11_64)Mac OS X Server 10.7 64-bit

 

# strings -a /usr/lib/vmware/lib/libvmomi.so/libvmomi.so |grep -i darwin

#

Link to comment
Share on other sites

That looks hopeful. I'm at home and don't have quick access to my test machine. As a simple change try replacing the libvmwarebase.so string with libvmomi.so.

Link to comment
Share on other sites

No such luck, I'm afraid. I tried both libs but to no avail:

#

[..snip..]

Patching /usr/lib/vmware/lib/libvmacore.so/libvmacore.so

File mapped @0x2b6117bf7000 length 9037800

#

[..snip..]

Patching /usr/lib/vmware/lib/libvmomi.so/libvmomi.so

File mapped @0x2aaabcbf6000 length 5379472

#

Link to comment
Share on other sites

OK - well I will take another look. I have access to my Windows box now, and expect if I find it there will translate over to Linux. Thanks for trying the test out.

Link to comment
Share on other sites

No such luck, I'm afraid. I tried both libs but to no avail: # [..snip..] Patching /usr/lib/vmware/lib/libvmacore.so/libvmacore.so File mapped @0x2b6117bf7000 length 9037800 # [..snip..] Patching /usr/lib/vmware/lib/libvmomi.so/libvmomi.so File mapped @0x2aaabcbf6000 length 5379472 #

 

Looks like the vmware-hostd also has a table similar to vmwarebase.so. I amtaking a look at patching it, and seeing what becomes of the error.

Link to comment
Share on other sites

  • 2 weeks later...

On Windows I still use (unlocked) WKST 8.0.1 build-528992 (can not be bothered to upgrade)

 

Lion 10.7.2 upgraded fine to 10.7.4 (without any problem)

 

On boot it took forever to get to dekstop (but it did)

 

Installing fakesmc & smc.present ="false" makes it boot like normal

 

sebus

Link to comment
Share on other sites

Hi, i tried the 1.1.0 unlocker version for Vmware Fusion 4.1.2 under Mac OS X 10.7.4, but i cannot select an Mac OS 10.6 Client Version in fusion. (just an OS X Server version)

 

The script returns the following output

Patching...
Patching /Applications/VMware Fusion.app/Contents/Library/vmware-vmx
File mapped @0x101000000 length 17237456
Found OSK0 @ 0x1017d7c35
Found OSK1 @ 0x1017d7c6d
Found SRVR @ 0x101813336
Patching /Applications/VMware Fusion.app/Contents/Library/vmware-vmx-debug
File mapped @0x101000000 length 21548096
Found OSK0 @ 0x101912dd5
Found OSK1 @ 0x101912e0d
Found SRVR @ 0x10194f3b6
Patching /Applications/VMware Fusion.app/Contents/Library/vmware-vmx-stats
File mapped @0x101000000 length 19832896
Found OSK0 @ 0x1017f5915
Found OSK1 @ 0x1017f594d
Found SRVR @ 0x1018348b6
Patching vmwarebase is not supported on this platform
Finished!

 

Can someone please tell me if I'm doing something wrong ?

  • Like 1
Link to comment
Share on other sites

Sorry for this possibly newbie question....

 

I have routinely moved myVM.vmwarevm virtual machines around, relocating to other directories.

 

I created a Snow Leopard VM with unlocker v 1.1 and VMware Fusion v 4.1.2. The vm works great, but when I try to move it from the Documents directory where Fusion created the Virtual Machines folder, I get a message about a file missing. When I move it back, it works.

 

The question is... What file?

 

Thanks

 

 

BiggestCookie

Link to comment
Share on other sites

Hello all I'm getting the following error message when trying to start up os X from windows using vmware 8.0.3: The CPU has been disabled by the guest operating system

 

 

I'm on a win 7 64bit system my cpu is a intel i7-3610QM. Any ideas what might be causing this? Thanks.

Link to comment
Share on other sites

Hello all I'm getting the following error message when trying to start up os X from windows using vmware 8.0.3: The CPU has been disabled by the guest operating system

 

 

I'm on a win 7 64bit system my cpu is a intel i7-3610QM. Any ideas what might be causing this? Thanks.

 

Apple don't support Ivy Bridge processors yet and so that error is coming form the MACH kernel. You will need to find another kernel to run and boot on Ivy Bridge CPUs.

  • Like 1
Link to comment
Share on other sites

I used unlocker 1.1.0 to unlock the new VMware Workstation 8.0.4 and it is working fine.

 

My version of OS X is still 10.7.3. I'm going to try to upgrade to 10.7.4 again and see if the new Workstation release includes the fix. I will update this post in a bit with the results.

 

[Edit]

It seems that 10.7.4 still does not boot (or I am not patient enough to let it finish). Sticking with 10.7.3 for now.

Link to comment
Share on other sites

I used unlocker 1.1.0 to unlock the new VMware Workstation 8.0.4 and it is working fine.

 

My version of OS X is still 10.7.3. I'm going to try to upgrade to 10.7.4 again and see if the new Workstation release includes the fix. I will update this post in a bit with the results.

 

[Edit]

It seems that 10.7.4 still does not boot (or I am not patient enough to let it finish). Sticking with 10.7.3 for now.

 

Guys, just go and get the free Tech Preview of Workstation all works without any hacks.

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...