mirror of
https://github.com/paolo-projects/unlocker.git
synced 2025-07-30 17:34:53 +02:00
unlocker 2.0.6
This commit is contained in:
parent
05e5b93dc3
commit
ac62f4e972
@ -1,7 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
The MIT License (MIT)
|
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
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the 'Software'), to deal
|
of this software and associated documentation files (the 'Software'), to deal
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo VMware Unlocker 2.0.5
|
echo VMware Unlocker 2.0.6
|
||||||
echo ===============================
|
echo ===============================
|
||||||
echo Copyright: Dave Parsons 2011-15
|
echo Copyright: Dave Parsons 2011-15
|
||||||
|
|
||||||
@ -13,6 +13,7 @@ echo Installing local.sh
|
|||||||
cp local-template.sh local.sh
|
cp local-template.sh local.sh
|
||||||
cat unlocker.py >> local.sh
|
cat unlocker.py >> local.sh
|
||||||
echo END >> local.sh
|
echo END >> local.sh
|
||||||
|
echo /etc/init.d/hostd restart >> local.sh
|
||||||
chmod +x local.sh
|
chmod +x local.sh
|
||||||
cp local.sh /etc/rc.local.d/local.sh
|
cp local.sh /etc/rc.local.d/local.sh
|
||||||
echo Success - please now restart the server!
|
echo Success - please now restart the server!
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo VMware Unlocker 2.0.5
|
echo VMware Unlocker 2.0.6
|
||||||
echo ===============================
|
echo ===============================
|
||||||
echo Copyright: Dave Parsons 2011-15
|
echo Copyright: Dave Parsons 2011-15
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo VMware Unlocker 2.0.5
|
echo VMware Unlocker 2.0.6
|
||||||
echo ===============================
|
echo ===============================
|
||||||
echo Copyright: Dave Parsons 2011-15
|
echo Copyright: Dave Parsons 2011-15
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo VMware Unlocker 2.0.5
|
echo VMware Unlocker 2.0.6
|
||||||
echo ===============================
|
echo ===============================
|
||||||
echo Copyright: Dave Parsons 2011-15
|
echo Copyright: Dave Parsons 2011-15
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
echo VMware ESXi 6.x Unlocker 2.0.5
|
echo VMware ESXi 6.x Unlocker 2.0.6
|
||||||
echo ===============================
|
echo ===============================
|
||||||
echo Copyright: Dave Parsons 2011-15
|
echo Copyright: Dave Parsons 2011-15
|
||||||
|
|
||||||
@ -35,6 +35,11 @@ ln -s /unlocker/vmx-debug /bin/vmx-debug
|
|||||||
rm -fv /bin/vmx-stats
|
rm -fv /bin/vmx-stats
|
||||||
ln -s /unlocker/vmx-stats /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
|
# Patch the vmx files
|
||||||
logger -t unlocker Patching vmx files
|
logger -t unlocker Patching vmx files
|
||||||
python <<END
|
python <<END
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo VMware Unlocker 2.0.5
|
echo VMware Unlocker 2.0.6
|
||||||
echo ===============================
|
echo ===============================
|
||||||
echo Copyright: Dave Parsons 2011-15
|
echo Copyright: Dave Parsons 2011-15
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo VMware Unlocker 2.0.5
|
echo VMware Unlocker 2.0.6
|
||||||
echo ===============================
|
echo ===============================
|
||||||
echo Copyright: Dave Parsons 2011-15
|
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 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 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
|
* 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.
|
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
|
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
|
4. Windows
|
||||||
----------
|
----------
|
||||||
@ -102,38 +134,6 @@ Note:
|
|||||||
2. The unlocker runs at boot time to patch the relevant files and it now survives
|
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.
|
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
|
8. Thanks
|
||||||
---------
|
---------
|
||||||
|
|
||||||
@ -153,7 +153,9 @@ History
|
|||||||
- Refactored Python code
|
- Refactored Python code
|
||||||
07/01/15 2.0.4 - Added View USB Service to Windows batch files
|
07/01/15 2.0.4 - Added View USB Service to Windows batch files
|
||||||
- Fixed broken GOS Table patching on Linux
|
- Fixed broken GOS Table patching on Linux
|
||||||
15/06/15 2.0.5 - ESXi 6 working
|
18/06/15 2.0.5 - ESXi 6 working
|
||||||
- Latest tools from Fusion 7.1.1
|
- 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
|
(c) 2011-2015 Dave Parsons
|
32
unlocker.py
32
unlocker.py
@ -1,7 +1,7 @@
|
|||||||
"""
|
"""
|
||||||
The MIT License (MIT)
|
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
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the 'Software'), to deal
|
of this software and associated documentation files (the 'Software'), to deal
|
||||||
@ -303,12 +303,28 @@ def patchbase(name):
|
|||||||
|
|
||||||
offset += 33
|
offset += 33
|
||||||
|
|
||||||
# # Tidy up
|
# Tidy up
|
||||||
f.flush()
|
f.flush()
|
||||||
f.close()
|
f.close()
|
||||||
print 'GOS Patched: ' + name
|
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():
|
def main():
|
||||||
|
|
||||||
# Work around absent Platform module on VMkernel
|
# Work around absent Platform module on VMkernel
|
||||||
@ -338,6 +354,7 @@ def main():
|
|||||||
vmx_debug = vmx_path + 'vmx-debug'
|
vmx_debug = vmx_path + 'vmx-debug'
|
||||||
vmx_stats = vmx_path + 'vmx-stats'
|
vmx_stats = vmx_path + 'vmx-stats'
|
||||||
vmwarebase = ''
|
vmwarebase = ''
|
||||||
|
libvmkctl = vmx_path + 'libvmkctl.so'
|
||||||
|
|
||||||
elif osname == 'windows':
|
elif osname == 'windows':
|
||||||
reg = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
|
reg = ConnectRegistry(None, HKEY_LOCAL_MACHINE)
|
||||||
@ -353,6 +370,14 @@ def main():
|
|||||||
print('Unknown Operating System: ' + osname)
|
print('Unknown Operating System: ' + osname)
|
||||||
return
|
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
|
# Patch the vmx executables skipping stats version for Player
|
||||||
patchsmc(vmx, osname)
|
patchsmc(vmx, osname)
|
||||||
patchsmc(vmx_debug, osname)
|
patchsmc(vmx_debug, osname)
|
||||||
@ -368,6 +393,9 @@ def main():
|
|||||||
else:
|
else:
|
||||||
print 'Patching vmwarebase is not required on this system'
|
print 'Patching vmwarebase is not required on this system'
|
||||||
|
|
||||||
|
if osname == 'vmkernel':
|
||||||
|
patchvmkctl(libvmkctl)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
main()
|
main()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user