mirror of
https://github.com/paolo-projects/unlocker.git
synced 2025-07-28 16:34:29 +02:00
New ESXi Unlocker first commit
This commit is contained in:
parent
29485bbd59
commit
1073f82f1f
@ -1,13 +1,3 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
#set -x
|
||||
|
||||
# Ensure we only use unmodified commands
|
||||
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||
|
||||
# Copy patch to local.sh
|
||||
rm -fv local.sh
|
||||
cp local-prefix.sh local.sh
|
||||
cat unlocker.py >> local.sh
|
||||
cat local-suffix.sh >> local.sh
|
||||
chmod +x local.sh
|
||||
tar czvf unlocker-esxi-300.tgz unlocker.tgz esxi-install.sh esxi-uninstall.sh
|
||||
|
@ -1,63 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
"""
|
||||
This is a simple method to modify the hostd XML file
|
||||
Not using XML on ESXi Python as it does not preserve
|
||||
formatting or comments.
|
||||
|
||||
(This could be sed but cannot find a suitable regex.)
|
||||
|
||||
"""
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
|
||||
|
||||
def testline(line, test):
|
||||
sline = line.lstrip()
|
||||
if sline == test:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
|
||||
|
||||
def main():
|
||||
vmsvc = '<vmsvc>\n'
|
||||
sandbox = '<useVmxSandbox>false</useVmxSandbox>\n'
|
||||
|
||||
with open('/etc/vmware/hostd/config.xml', 'r+') as f:
|
||||
data = f.readlines()
|
||||
|
||||
# Search for the relevant XML tags
|
||||
i = 0
|
||||
vmsvcindex = 0
|
||||
sandboxindex = 0
|
||||
for line in data:
|
||||
|
||||
if testline(line, vmsvc):
|
||||
vmsvcindex = i
|
||||
|
||||
if testline(line, sandbox):
|
||||
sandboxindex = i
|
||||
|
||||
# print(line, end='')
|
||||
i += 1
|
||||
|
||||
# Simple toggle on or off depending if found
|
||||
if sandboxindex != 0 and sys.argv[1] == 'off':
|
||||
print('Removing useVmxSandbox')
|
||||
del data[sandboxindex]
|
||||
elif sandboxindex == 0 and sys.argv[1] == 'on':
|
||||
print('Adding useVmxSandbox')
|
||||
pad = len(data[vmsvcindex + 1]) - len(data[vmsvcindex + 1].lstrip())
|
||||
data.insert(vmsvcindex + 1, (" " * pad) + sandbox)
|
||||
else:
|
||||
pass
|
||||
|
||||
# Rewrite the config.xml file
|
||||
f.seek(0)
|
||||
f.write(''.join(data))
|
||||
f.truncate()
|
||||
f.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
@ -2,24 +2,13 @@
|
||||
set -e
|
||||
#set -x
|
||||
|
||||
echo VMware Unlocker 2.1.0
|
||||
echo VMware Unlocker 3.0.0
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-17
|
||||
echo Copyright: Dave Parsons 2011-18
|
||||
|
||||
# Ensure we only use unmodified commands
|
||||
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||
|
||||
VER=$(uname -r)
|
||||
if [ "$VER" == "6.0.0" ]; then
|
||||
echo "Error - ESXi 6.0.0 is not supported!"
|
||||
elif [ "$VER" == "6.5.0" ]; then
|
||||
# Copy patch to local.sh
|
||||
echo Installing local.sh
|
||||
chmod +x local.sh
|
||||
cp local.sh /etc/rc.local.d/local.sh
|
||||
python esxi-config.py on
|
||||
backup.sh 0
|
||||
echo "Success - please now restart the server!"
|
||||
else
|
||||
echo "Unknown ESXi version"
|
||||
fi
|
||||
echo Installing unlocker.tgz
|
||||
BootModuleConfig.sh --verbose --add=unlocker.tgz
|
||||
echo Success - please now restart the server!
|
||||
|
@ -2,15 +2,13 @@
|
||||
set -e
|
||||
#set -x
|
||||
|
||||
echo VMware Unlocker 2.1.0
|
||||
echo VMware Unlocker 3.0.0
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-17
|
||||
echo Copyright: Dave Parsons 2011-18
|
||||
|
||||
# Ensure we only use unmodified commands
|
||||
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||
|
||||
echo Uninstalling local.sh
|
||||
cp /etc/rc.local.d/.#local.sh /etc/rc.local.d/local.sh
|
||||
python esxiconfig.py off
|
||||
backup.sh 0
|
||||
echo Uninstalling unlocker.tgz
|
||||
BootModuleConfig.sh --verbose --remove=unlocker.tgz
|
||||
echo Success - please now restart the server!
|
||||
|
@ -1,65 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
set -x
|
||||
|
||||
echo VMware ESXi 6.x Unlocker 2.1.0
|
||||
echo ===============================
|
||||
echo Copyright: Dave Parsons 2011-17
|
||||
|
||||
# Ensure we only use unmodified commands
|
||||
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
|
||||
|
||||
# Exit if boot option specified
|
||||
if bootOption -o | grep -q 'nounlocker'; then
|
||||
logger -t unlocker disabled via nounlocker boot option
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Make sure working files are removed
|
||||
if [ -d /unlocker ]; then
|
||||
logger -t unlocker Removing current patches
|
||||
rm -rfv /unlocker
|
||||
fi
|
||||
|
||||
# Create new RAM disk and map to /unlocker
|
||||
logger -t unlocker Creating RAM disk
|
||||
mkdir /unlocker
|
||||
localcli system visorfs ramdisk add -m 200 -M 200 -n unlocker -p 0755 -t /unlocker
|
||||
logger -t unlocker Stopping hostd daemon
|
||||
/etc/init.d/hostd stop
|
||||
|
||||
# Copy the vmx files
|
||||
logger -t unlocker Copying vmx files
|
||||
mkdir /unlocker/bin
|
||||
cp /bin/vmx /unlocker/bin/
|
||||
cp /bin/vmx-debug /unlocker/bin/
|
||||
cp /bin/vmx-stats /unlocker/bin/
|
||||
|
||||
# Setup symlink from /bin
|
||||
logger -t unlocker Setup vmx sym links
|
||||
rm -fv /bin/vmx
|
||||
ln -s /unlocker/bin/vmx /bin/vmx
|
||||
rm -fv /bin/vmx-debug
|
||||
ln -s /unlocker/bin/vmx-debug /bin/vmx-debug
|
||||
rm -fv /bin/vmx-stats
|
||||
ln -s /unlocker/bin/vmx-stats /bin/vmx-stats
|
||||
|
||||
# Copy the libvmkctl.so files
|
||||
logger -t unlocker Copying 32-bit lib files
|
||||
mkdir /unlocker/lib
|
||||
cp /lib/libvmkctl.so /unlocker/lib/
|
||||
logger -t unlocker Setup 32-bit lib sym links
|
||||
rm -fv /lib/libvmkctl.so
|
||||
ln -s /unlocker/lib/libvmkctl.so /lib/libvmkctl.so
|
||||
if [ -f /lib64/libvmkctl.so ]; then
|
||||
logger -t unlocker Copying 64-bit lib files
|
||||
mkdir /unlocker/lib64
|
||||
cp /lib64/libvmkctl.so /unlocker/lib64/
|
||||
logger -t unlocker Setup 64-bit lib sym links
|
||||
rm -fv /lib64/libvmkctl.so
|
||||
ln -s /unlocker/lib64/libvmkctl.so /lib64/libvmkctl.so
|
||||
fi
|
||||
|
||||
# Patch the vmx files
|
||||
logger -t unlocker Patching vmx files
|
||||
python <<END
|
@ -1,4 +0,0 @@
|
||||
END
|
||||
logger -t unlocker Starting hostd daemon
|
||||
/etc/init.d/hostd start
|
||||
exit 0
|
BIN
esxi/unlocker-esxi-300.tgz
Normal file
BIN
esxi/unlocker-esxi-300.tgz
Normal file
Binary file not shown.
BIN
esxi/unlocker.tgz
Normal file
BIN
esxi/unlocker.tgz
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user