Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
wiki:open_vm_tools [2013/06/19 09:18] – andyj | wiki:open_vm_tools [2013/06/19 13:48] (current) – andyj | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Open VM Tools Background and Assumptions ====== | ====== Open VM Tools Background and Assumptions ====== | ||
- | |||
- | This page is under construction. Proceed at your own peril. May be ready on 2013-06-19. | ||
The procedure for making the proprietary VMWare Tools and Open VM Tools are very similar. As it turns out, the Open VM Tools package is incomplete, and so we must fill in the gaps based on what we know from VMWare Tools. In particular, two files in the ''/ | The procedure for making the proprietary VMWare Tools and Open VM Tools are very similar. As it turns out, the Open VM Tools package is incomplete, and so we must fill in the gaps based on what we know from VMWare Tools. In particular, two files in the ''/ | ||
Line 36: | Line 34: | ||
- Compile Open VM Tools | - Compile Open VM Tools | ||
- Create Open VM Tools setuid links | - Create Open VM Tools setuid links | ||
- | - Create | + | - Create |
- Create TCZ extension | - Create TCZ extension | ||
+ | - Install TCZ extension | ||
===== Compile Open VM Tools ===== | ===== Compile Open VM Tools ===== | ||
Line 63: | Line 62: | ||
===== Create Open VM Tools setuid Links ===== | ===== Create Open VM Tools setuid Links ===== | ||
- | It's a feature of the setuid wrapper that the executables must be in specific place defined in the '' | + | It's a feature of the setuid wrapper that the executables must be in specific place defined in a '' |
- | the ''/ | + | the ''/ |
will make everything links, but this isn't a problem because we know the links will be in the ''/ | will make everything links, but this isn't a problem because we know the links will be in the ''/ | ||
+ | '' | ||
+ | Make the TinyCore extension specific vmware paths locations file in the '' | ||
+ | < | ||
+ | answer BINDIR / | ||
+ | answer INITDIR /etc/init.d | ||
+ | answer INITSCRIPTSDIR /etc/init.d | ||
+ | answer SBINDIR / | ||
+ | answer LIBDIR / | ||
+ | </ | ||
+ | Create a link to the plugins directory in TCZ/ | ||
+ | < | ||
+ | ln -s / | ||
+ | </ | ||
+ | The Open VM Tools also wants to know what distribution and release it's running on: | ||
+ | < | ||
+ | sed -e ' | ||
+ | </ | ||
+ | Move the files to LIBDIR subdirectories and create links in the BINDIR and SBINDIR directories: | ||
< | < | ||
cd $TCZROOT/ | cd $TCZROOT/ | ||
Line 81: | Line 98: | ||
cd $TCZROOT/ | cd $TCZROOT/ | ||
mv $TCZROOT/ | mv $TCZROOT/ | ||
- | # we don't need links for the libraries | + | cd $TCZROOT/ |
- | </ | + | for a in ../ |
- | Clean up files we don't need: | + | |
- | < | + | |
- | rm -rf $TCZROOT/ | + | |
- | rm -rf $TCZROOT/usr/local/ | + | |
- | rm -rf $TCZROOT/usr/local/include | + | |
- | rm -rf $TCZROOT/ | + | |
- | rm -rf $TCZROOT/sbin | + | |
</ | </ | ||
- | ===== Create | + | ===== Create |
- | Make the TinyCore | + | Make the Tinycore |
< | < | ||
- | cd $TCZROOT/ | + | mkdir -p $TCZROOT/ |
- | cat > locations << | + | |
- | answer BINDIR / | + | |
- | answer INITDIR /etc/init.d | + | |
- | answer INITSCRIPTSDIR / | + | |
- | answer SBINDIR / | + | |
- | answer LIBDIR / | + | |
- | EOF | + | |
- | ln -s / | + | |
</ | </ | ||
- | Make the Tinycore extension initialization | + | Make sure that the script |
< | < | ||
- | mkdir -p $TCZROOT/ | ||
- | cd $TCZROOT/ | ||
- | cat > open-vm-tools <<EOF | ||
#!/bin/sh | #!/bin/sh | ||
# | # | ||
/ | / | ||
- | EOF | + | </ |
+ | Make the script executable: | ||
+ | < | ||
chmod a+x open-vm-tools | chmod a+x open-vm-tools | ||
</ | </ | ||
- | Make the open-vm-tools startup script | + | Make the TCZ/ |
< | < | ||
mkdir -p $TCZROOT/ | mkdir -p $TCZROOT/ | ||
- | cd $TCZROOT/etc/ | + | </code> |
- | cat > open-vm-tools <<EOF | + | Make the open-vm-tools |
+ | <code> | ||
#!/bin/sh | #!/bin/sh | ||
# Start, stop, and restart vmtoolsd | # Start, stop, and restart vmtoolsd | ||
Line 193: | Line 195: | ||
/ | / | ||
fi | fi | ||
+ | # Start vmware-user in user's .xsession | ||
# Use ethtool to optimize vmxnet | # Use ethtool to optimize vmxnet | ||
Line 227: | Line 230: | ||
;; | ;; | ||
esac | esac | ||
- | EOF | + | </ |
+ | Make the script executable: | ||
+ | < | ||
chmod a+x open-vm-tools | chmod a+x open-vm-tools | ||
+ | </ | ||
+ | |||
+ | Clean up files we don't need: | ||
+ | < | ||
+ | rm -rf $TCZROOT/ | ||
+ | rm -rf $TCZROOT/ | ||
+ | rm -rf $TCZROOT/ | ||
+ | rm -rf $TCZROOT/ | ||
+ | rm -rf $TCZROOT/ | ||
</ | </ | ||
Line 248: | Line 262: | ||
procps.tcz | procps.tcz | ||
gtkmm.tcz | gtkmm.tcz | ||
+ | libdnet.tcz | ||
EOF | EOF | ||
</ | </ | ||
+ | |||
+ | ===== Install TCZ Extension ===== | ||
+ | |||
These extensions and their dependencies should be copied to the system that will be using the open-vm-tools extension before it's loaded. | These extensions and their dependencies should be copied to the system that will be using the open-vm-tools extension before it's loaded. | ||
Then add '' | Then add '' | ||
There is a conflict between the vmxnet and pcnet32 modules, so networking will not work unless the extension is loaded. | There is a conflict between the vmxnet and pcnet32 modules, so networking will not work unless the extension is loaded. | ||
Copy the open-vm-tools.tcz and open-vm-tools.tcz.dep files to the tce/ | Copy the open-vm-tools.tcz and open-vm-tools.tcz.dep files to the tce/ | ||
- | + | Add the following line to your .xsession file after mouse initialization: | |
- | not done: programs to add to .profile | + | < |
+ | [ $(which vmware-checkvm) ] && [ vmware-checkvm ] && vmware-user & | ||
+ | </code> | ||
+ | Reboot and enjoy. |