mirror of
https://github.com/paolo-projects/unlocker.git
synced 2025-07-30 01:14:56 +02:00
unlocker 2.0.6
This commit is contained in:
parent
05e5b93dc3
commit
ac62f4e972
@ -1,7 +1,7 @@
|
||||
"""
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Dave Parsons
|
||||
Copyright (c) 2014-2015 Dave Parsons
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the 'Software'), to deal
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
echo VMware Unlocker 2.0.5
|
||||
echo VMware Unlocker 2.0.6
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-15
|
||||
|
||||
@ -13,6 +13,7 @@ echo Installing local.sh
|
||||
cp local-template.sh local.sh
|
||||
cat unlocker.py >> local.sh
|
||||
echo END >> local.sh
|
||||
echo /etc/init.d/hostd restart >> local.sh
|
||||
chmod +x local.sh
|
||||
cp local.sh /etc/rc.local.d/local.sh
|
||||
echo Success - please now restart the server!
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
echo VMware Unlocker 2.0.5
|
||||
echo VMware Unlocker 2.0.6
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-15
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo VMware Unlocker 2.0.5
|
||||
echo VMware Unlocker 2.0.6
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-15
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo VMware Unlocker 2.0.5
|
||||
echo VMware Unlocker 2.0.6
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-15
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
set -e
|
||||
set -x
|
||||
|
||||
echo VMware ESXi 6.x Unlocker 2.0.5
|
||||
echo VMware ESXi 6.x Unlocker 2.0.6
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-15
|
||||
|
||||
@ -35,6 +35,11 @@ ln -s /unlocker/vmx-debug /bin/vmx-debug
|
||||
rm -fv /bin/vmx-stats
|
||||
ln -s /unlocker/vmx-stats /bin/vmx-stats
|
||||
|
||||
# Copy the libvmkctl.so file
|
||||
cp /lib/libvmkctl.so /unlocker
|
||||
rm -fv /lib/libvmkctl.so
|
||||
ln -s /unlocker/libvmkctl.so /lib/libvmkctl.so
|
||||
|
||||
# Patch the vmx files
|
||||
logger -t unlocker Patching vmx files
|
||||
python <<END
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo VMware Unlocker 2.0.5
|
||||
echo VMware Unlocker 2.0.6
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-15
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo VMware Unlocker 2.0.5
|
||||
echo VMware Unlocker 2.0.6
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-15
|
||||
|
||||
|
72
readme.txt
72
readme.txt
@ -20,6 +20,7 @@ being patched:
|
||||
|
||||
* Fix vmware-vmx and derivatives to allow Mac OS X to boot
|
||||
* Fix vmwarebase .dll or .so to allow Apple to be selected during VM creation
|
||||
* Fix libvmkctl.so on ESXi 6 to allow use with vCenter
|
||||
* A copy of the latest VMware Tools for OS X is included
|
||||
|
||||
Note that not all products recognise the darwin.iso via install tools menu item.
|
||||
@ -47,7 +48,38 @@ require Python to be installed.
|
||||
3. Limitations
|
||||
--------------
|
||||
|
||||
No known limitations.
|
||||
If you are using VMware Player or Workstation on Windows you may get a core dump.
|
||||
|
||||
Latest Linux and ESXi products are OK and do not show this problem.
|
||||
|
||||
+-----------------------------------------------------------------------------+
|
||||
| IMPORTANT: |
|
||||
| ========== |
|
||||
| |
|
||||
| If you create a new VM using version 11 hardware VMware will stop and |
|
||||
| create a core dump.There are two options to work around this issue: |
|
||||
| |
|
||||
| 1. Change the VM to be HW 10 - this does not affect performance. |
|
||||
| 2. Edit the VMX file and add: |
|
||||
| smc.version = "0" |
|
||||
| |
|
||||
+-----------------------------------------------------------------------------+
|
||||
|
||||
To remove the check for server versions for OS X Leopard and Snow Leopard
|
||||
(10.5 and 10.6) you must use a replacement EFI firwmare module from the firmware
|
||||
folder.
|
||||
|
||||
If you are using a 32-bit installation of OS X:
|
||||
|
||||
1. Copy efi32-srvr.rom to guest folder.
|
||||
2. Edit the vmx file and add:
|
||||
efi32.filename = "efi32-srvr.rom"
|
||||
|
||||
If you are using a 64-bit installation of OS X:
|
||||
|
||||
1. Copy efi64-srvr.rom to guest folder.
|
||||
2. Edit the vmx file and add:
|
||||
efi64.filename = "efi64-srvr.rom"
|
||||
|
||||
4. Windows
|
||||
----------
|
||||
@ -102,38 +134,6 @@ Note:
|
||||
2. The unlocker runs at boot time to patch the relevant files and it now survives
|
||||
an upgrade or patch to ESXi as local.sh is part of the persisted local state.
|
||||
|
||||
8. Notes
|
||||
--------
|
||||
|
||||
+-----------------------------------------------------------------------------+
|
||||
| IMPORTANT: |
|
||||
| ========== |
|
||||
| |
|
||||
| If you create a new VM using version 11 hardware VMware will stop and |
|
||||
| create a core dump.There are two options to work around this issue: |
|
||||
| |
|
||||
| 1. Change the VM to be HW 10 - this does not affect performance. |
|
||||
| 2. Edit the VMX file and add: |
|
||||
| smc.version = "0" |
|
||||
| |
|
||||
+-----------------------------------------------------------------------------+
|
||||
|
||||
To remove the check for server versions for OS X Leopard and Snow Leopard
|
||||
(10.5 and 10.6) you must use a replacement EFI firwmare module from the firmware
|
||||
folder.
|
||||
|
||||
If you are using a 32-bit installation of OS X:
|
||||
|
||||
1. Copy efi32-srvr.rom to guest folder.
|
||||
2. Edit the vmx file and add:
|
||||
efi32.filename = "efi32-srvr.rom"
|
||||
|
||||
If you are using a 64-bit installation of OS X:
|
||||
|
||||
1. Copy efi64-srvr.rom to guest folder.
|
||||
2. Edit the vmx file and add:
|
||||
efi64.filename = "efi64-srvr.rom"
|
||||
|
||||
8. Thanks
|
||||
---------
|
||||
|
||||
@ -153,7 +153,9 @@ History
|
||||
- Refactored Python code
|
||||
07/01/15 2.0.4 - Added View USB Service to Windows batch files
|
||||
- Fixed broken GOS Table patching on Linux
|
||||
15/06/15 2.0.5 - ESXi 6 working
|
||||
- Latest tools from Fusion 7.1.1
|
||||
18/06/15 2.0.5 - ESXi 6 working
|
||||
- Latest tools from Fusion 7.1.2
|
||||
20/06/15 2.0.6 - ESXi 6 patch for smcPresent vCenter compatibility
|
||||
|
||||
|
||||
(c) 2011-2015 Dave Parsons
|
32
unlocker.py
32
unlocker.py
@ -1,7 +1,7 @@
|
||||
"""
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Dave Parsons
|
||||
Copyright (c) 2014-2015 Dave Parsons & Sam Bingner
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the 'Software'), to deal
|
||||
@ -303,12 +303,28 @@ def patchbase(name):
|
||||
|
||||
offset += 33
|
||||
|
||||
# # Tidy up
|
||||
# Tidy up
|
||||
f.flush()
|
||||
f.close()
|
||||
print 'GOS Patched: ' + name
|
||||
|
||||
|
||||
def patchvmkctl(name):
|
||||
# Patch file
|
||||
print 'smcPresent Patching: ' + name
|
||||
f = open(name, 'r+b')
|
||||
|
||||
# Read file into string variable
|
||||
vmkctl = f.read()
|
||||
applesmc = vmkctl.find('applesmc')
|
||||
f.seek(applesmc)
|
||||
f.write('vmkernel')
|
||||
|
||||
# Tidy up
|
||||
f.flush()
|
||||
f.close()
|
||||
print 'smcPresent Patched: ' + name
|
||||
|
||||
def main():
|
||||
|
||||
# Work around absent Platform module on VMkernel
|
||||
@ -338,6 +354,7 @@ def main():
|
||||
vmx_debug = vmx_path + 'vmx-debug'
|
||||
vmx_stats = vmx_path + 'vmx-stats'
|
||||
vmwarebase = ''
|
||||
libvmkctl = vmx_path + 'libvmkctl.so'
|
||||
|
||||
elif osname == 'windows':
|
||||
reg = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
|
||||
@ -353,6 +370,14 @@ def main():
|
||||
print('Unknown Operating System: ' + osname)
|
||||
return
|
||||
|
||||
# Test - remove
|
||||
# osname = 'vmkernel'
|
||||
# vmx = 'D:\\vmware\\test\\patched\\vmx'
|
||||
# vmx_debug = 'D:\\vmware\\test\\patched\\vmx-debug'
|
||||
# vmx_stats = 'D:\\vmware\\test\\patched\\vmx-stats'
|
||||
# vmwarebase = ''
|
||||
# libvmkctl = 'D:\\vmware\\test\\patched\\libvmkctl.so'
|
||||
|
||||
# Patch the vmx executables skipping stats version for Player
|
||||
patchsmc(vmx, osname)
|
||||
patchsmc(vmx_debug, osname)
|
||||
@ -368,6 +393,9 @@ def main():
|
||||
else:
|
||||
print 'Patching vmwarebase is not required on this system'
|
||||
|
||||
if osname == 'vmkernel':
|
||||
patchvmkctl(libvmkctl)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
|
Loading…
x
Reference in New Issue
Block a user