Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
wiki:open_vm_tools [2013/06/19 09:44] andyjwiki: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 ''/etc'' directory which are critical for the Open VM Tools to work are provided here because they do not get built during the make process. 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 ''/etc'' directory which are critical for the Open VM Tools to work are provided here because they do not get built during the make process.
Line 38: Line 36:
   - Create Initialization Scripts   - Create Initialization Scripts
   - Create TCZ extension   - Create TCZ extension
 +  - Install TCZ extension
  
 ===== Compile Open VM Tools =====  ===== Compile Open VM Tools ===== 
Line 67: Line 66:
 will make everything links, but this isn't a problem because we know the links will be in the ''/tmp/tcloop/open-vm-tools/usr/local'' subdirectories. will make everything links, but this isn't a problem because we know the links will be in the ''/tmp/tcloop/open-vm-tools/usr/local'' subdirectories.
 ''vmware-user-setuid-wrapper'' works by checking that the link in BINDIR or SBINDIR has LIBDIR in it's path.  ''vmware-user-setuid-wrapper'' works by checking that the link in BINDIR or SBINDIR has LIBDIR in it's path. 
-Make the TinyCore extension specific vmware paths locations file:+Make the TinyCore extension specific vmware paths locations file in the ''TCZ/etc/vmware-tools'' directory:
 <code> <code>
-cd $TCZROOT/etc/vmware-tools 
-cat > locations <<EOF 
 answer BINDIR /tmp/tcloop/open-vm-tools/usr/local/bin answer BINDIR /tmp/tcloop/open-vm-tools/usr/local/bin
 answer INITDIR /etc/init.d answer INITDIR /etc/init.d
Line 76: Line 73:
 answer SBINDIR /tmp/tcloop/open-vm-tools/usr/local/sbin answer SBINDIR /tmp/tcloop/open-vm-tools/usr/local/sbin
 answer LIBDIR /tmp/tcloop/open-vm-tools/usr/local/lib/open-vm-tools answer LIBDIR /tmp/tcloop/open-vm-tools/usr/local/lib/open-vm-tools
-EOF+</code> 
 +Create a link to the plugins directory in TCZ/etc/vmware-tools 
 +<code>
 ln -s /tmp/tcloop/open-vm-tools/usr/local/lib/open-vm-tools/plugins plugins ln -s /tmp/tcloop/open-vm-tools/usr/local/lib/open-vm-tools/plugins plugins
 +</code>
 +The Open VM Tools also wants to know what distribution and release it's running on:
 +<code>
 +sed -e 's/^/TinyCore /' /usr/share/doc/tc/release.txt > $TCZROOT/etc/release
 </code> </code>
 Move the files to LIBDIR subdirectories and create links in the BINDIR and SBINDIR directories: Move the files to LIBDIR subdirectories and create links in the BINDIR and SBINDIR directories:
Line 95: Line 98:
 cd $TCZROOT/usr/local/lib/open-vm-tools/lib cd $TCZROOT/usr/local/lib/open-vm-tools/lib
 mv $TCZROOT/usr/local/lib/lib* . mv $TCZROOT/usr/local/lib/lib* .
-# we don't need links for the libraries+cd $TCZROOT/usr/local/lib 
 +for a in ../lib/open-vm-tools/lib/lib*; do ln -s /tmp/tcloop/open-vm-tools/usr/local/lib/open-vm-tools/lib/$(basename $a); done
 </code> </code>
  
 ===== Create Initialization Scripts =====  ===== Create Initialization Scripts ===== 
  
-Make the Tinycore extension initialization script+Make the Tinycore extension initialization script in the ''TCZ/usr/local/tce.installed'' directory:
 <code> <code>
 mkdir -p $TCZROOT/usr/local/tce.installed mkdir -p $TCZROOT/usr/local/tce.installed
-cd $TCZROOT/usr/local/tce.installed +</code> 
-cat > open-vm-tools <<EOF+Make sure that the script name matches the extension name if not using ''open-vm-tools'': 
 +<code>
 #!/bin/sh #!/bin/sh
 # #
 /etc/init.d/open-vm-tools start /etc/init.d/open-vm-tools start
-EOF+</code> 
 +Make the script executable: 
 +<code>
 chmod a+x open-vm-tools chmod a+x open-vm-tools
 </code> </code>
-Make the open-vm-tools startup script+Make the TCZ/etc/init.d directory:
 <code> <code>
 mkdir -p $TCZROOT/etc/init.d mkdir -p $TCZROOT/etc/init.d
-cd $TCZROOT/etc/init.d +</code> 
-cat > open-vm-tools <<EOF+Make the open-vm-tools startup script in the TCZ/etc/init.d directory: 
 +<code>
 #!/bin/sh #!/bin/sh
 # Start, stop, and restart vmtoolsd # Start, stop, and restart vmtoolsd
Line 187: Line 195:
 /usr/local/bin/vmtoolsd --background=/var/run/vmtoolsd.pid /usr/local/bin/vmtoolsd --background=/var/run/vmtoolsd.pid
 fi fi
 +# Start vmware-user in user's .xsession
  
 # Use ethtool to optimize vmxnet # Use ethtool to optimize vmxnet
Line 221: Line 230:
 ;; ;;
 esac esac
-EOF+</code> 
 +Make the script executable: 
 +<code>
 chmod a+x open-vm-tools chmod a+x open-vm-tools
 </code> </code>
Line 233: Line 244:
 rm -rf $TCZROOT/sbin rm -rf $TCZROOT/sbin
 </code> </code>
 +
 ===== Create TCZ Extension =====  ===== Create TCZ Extension ===== 
  
Line 250: Line 262:
 procps.tcz procps.tcz
 gtkmm.tcz gtkmm.tcz
 +libdnet.tcz
 EOF EOF
 </code> </code>
 +
 +===== 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 ''blacklist=pcnet32'' to the APPEND line of the boot configuration file. Then add ''blacklist=pcnet32'' to the APPEND line of the boot configuration file.
 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/optional directory of the virtual machine, and update onboot.lst by adding open-vm-tools.tcz. Copy the open-vm-tools.tcz and open-vm-tools.tcz.dep files to the tce/optional directory of the virtual machine, and update onboot.lst by adding open-vm-tools.tcz.
- +Add the following line to your .xsession file after mouse initialization: 
-not done: programs to add to .profile / .xsession+<code> 
 +[ $(which vmware-checkvm) ] && [ vmware-checkvm ] && vmware-user & 
 +</code> 
 +Reboot and enjoy.
Print/export
QR Code
QR Code wiki:open_vm_tools (generated for current page)