# vmware-tools and FreeBSD 8.0



## m0ps (Nov 26, 2009)

hi all!
i'll try to install vmware-tools from ESX 4.0 Update 1 on FreeBSD 8.0.
vmware-tools doesn't  contain binary kernel modules for 8.0, that's why i'm try to compile modules from included sources. vmmemctl.ko and vmxnet.ko compiled successfull, but compilation of vmblock.ko finished with error:


```
..................
vfsops.c:116: error: conflicting types for 'VMBlockVFSMount'
vfsops.c:68: error: previous declaration of 'VMBlockVFSMount' was here
vfsops.c: In function 'VMBlockVFSMount':
vfsops.c:159: error: 'AT_FDCWD' undeclared (first use in this function)
vfsops.c:159: error: (Each undeclared identifier is reported only once
vfsops.c:159: error: for each function it appears in.)
vfsops.c:190: error: too many arguments to function 'VOP_UNLOCK'
vfsops.c:212: error: too many arguments to function 'VOP_UNLOCK'
vfsops.c:220:5: error: "BSD_VERSION" is not defined
vfsops.c: At top level:
vfsops.c:257: error: conflicting types for 'VMBlockVFSUnmount'
vfsops.c:72: error: previous declaration of 'VMBlockVFSUnmount' was here
vfsops.c:291:55: error: macro "VOP_LOCK" passed 3 arguments, but takes just 2
vfsops.c: In function 'VMBlockVFSUnmount':
vfsops.c:291: error: 'VOP_LOCK' undeclared (first use in this function)
vfsops.c:298: error: too many arguments to function 'VOP_UNLOCK'
vfsops.c: At top level:
vfsops.c:341: error: conflicting types for 'VMBlockVFSRoot'
vfsops.c:69: error: previous declaration of 'VMBlockVFSRoot' was here
vfsops.c:349:36: error: macro "vn_lock" passed 3 arguments, but takes just 2
vfsops.c: In function 'VMBlockVFSRoot':
vfsops.c:349: error: 'vn_lock' undeclared (first use in this function)
vfsops.c: At top level:
vfsops.c:377: error: conflicting types for 'VMBlockVFSStatFS'
vfsops.c:71: error: previous declaration of 'VMBlockVFSStatFS' was here
vfsops.c:387:64: error: macro "VFS_STATFS" passed 3 arguments, but takes just 2
vfsops.c: In function 'VMBlockVFSStatFS':
vfsops.c:387: error: 'VFS_STATFS' undeclared (first use in this function)
vfsops.c: At top level:
vfsops.c:427: error: conflicting types for 'VMBlockVFSSync'
vfsops.c:70: error: previous declaration of 'VMBlockVFSSync' was here

*** Error code 1
```

any solutions?


----------



## vivek (Nov 26, 2009)

I've no problem here tested with VM-WKST 7.0. However, other boxes under ESX are running 7.2. I will see if I can test 8.0 on one of other box. Are you using cd image provided by Vmware or ports collection?


----------



## m0ps (Nov 26, 2009)

i'm use vmware-tools from ESX
for 7.x binary modules included in vmware-tools, and all work fine


----------



## swills@ (Nov 26, 2009)

You might consider the emulators/open-vm-tools or emulators/open-vm-tools-nox11 port(s). I've had good luck with them.


----------



## m0ps (Nov 26, 2009)

*swills*,
is not the right way ... I am interested in installing original vmware-tools from ESX 4.0 Update1


----------



## swills@ (Nov 27, 2009)

What's your goal? From what I've seen, the open-vm-tools provide all the functionality of the vmware-tools.


----------



## ChrisKnight (Dec 5, 2009)

swills said:
			
		

> What's your goal? From what I've seen, the open-vm-tools provide all the functionality of the vmware-tools.



Just curious, but have you used open-vm-tools in FreeBSD 8?  

I found this thread while looking for how to resolve the lack of kernel modules for FreeBSD 8 for the commercial VMWare tools.  I very much liked the suggestion here of using an open source version.  One thing I noticed though is that the FreeBSD port of open-vm-tools is rather out of date.  The current release on the Open Virtual Machine Tools website is open-vm-tools-2009.11.16, and the port is using open-vm-tools-2009.05.22.  That puts the port six releases out of date.  So, that's why I was wondering if anyone has used it under FreeBSD 8 and whether or not is is working properly for them.

-Chris


----------



## swills@ (Dec 5, 2009)

Funny you should mention that...

I have used the current version, but only on ESX where I didn't care if the X11 stuff worked. But I've never tried it with the Unity stuff turned on. 

I worked on updating the port, you can get it here: http://pastebin.com/f33115d2b

Could you test it?


----------



## ChrisKnight (Dec 6, 2009)

swills said:
			
		

> Funny you should mention that...
> 
> I have used the current version, but only on ESX where I didn't care if the X11 stuff worked. But I've never tried it with the Unity stuff turned on.
> 
> ...



I tried testing.  Sorry it took so long, but I didn't have X11 installed on this machine and this doesn't appear to be the nox11 version of the open-vm-tools port.  My little VM has been installing all the pre-reqs for the full port for hours.  

Final result:  Failed to install.


```
cc -O2 -fno-strict-aliasing -pipe -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/root/open-vm-tools/work/open-vm-tools-2009.11.17-210370
/lib/include -I/root/open-vm-tools/work/open-vm-tools-2009.11.17-210370/lib/backdoor -I/root/open-vm-tools/work/open-vm-tools-2009.11.17-210370
/lib/hgfs -I/root/open-vm-tools/work/open-vm-tools-2009.11.17-210370/modules/freebsd/shared -I. -I@ -I@/contrib/altq -finline-limit=8000 
--param inline-unit-growth=100 --param large-function-growth=1000 -fno-common  -mno-align-long-strings -mpreferred-stack-boundary=2  -mno-mmx 
-mno-3dnow -mno-sse -mno-sse2 -mno-sse3 -ffreestanding -fstack-protector -std=iso9899:1999 -fstack-protector -Wall -Werror 
-Wno-redundant-decls -Wnested-externs -Wstrict-prototypes -Wno-missing-prototypes -Wpointer-arith -Winline -Wcast-qual -c vnops.c
vnops.c: In function 'HgfsVopAccess':
vnops.c:328: error: 'struct vop_access_args' has no member named 'a_mode'
*** Error code 1

Stop in /root/open-vm-tools/work/open-vm-tools-2009.11.17-210370/modules/freebsd/vmhgfs.
*** Error code 1

Stop in /root/open-vm-tools/work/open-vm-tools-2009.11.17-210370/modules.
*** Error code 1

Stop in /root/open-vm-tools/work/open-vm-tools-2009.11.17-210370.
*** Error code 1

Stop in /root/open-vm-tools.
```


----------



## swills@ (Dec 9, 2009)

What version of FreeBSD are you using?


----------



## ChrisKnight (Dec 9, 2009)

swills said:
			
		

> What version of FreeBSD are you using?




```
FreeBSD freebsd8.ghostwheel.com 8.0-STABLE FreeBSD 8.0-STABLE #0: Mon Nov 30 07:58:14 PST 2009
```


----------



## swills@ (Dec 17, 2009)

Strange, my 8.0-STABLE is from Nov 28 and it is fine. Can you send me the full build log?


----------



## ChrisKnight (Dec 18, 2009)

swills said:
			
		

> Strange, my 8.0-STABLE is from Nov 28 and it is fine. Can you send me the full build log?



I just did a update of /usr/src /usr/ports and freshened up the system.  Still no go.  Full build log of your port of open-vm-tools here:  https://www.ghostwheel.com/open-vm-tools.install.log.gz


----------



## swills@ (Dec 19, 2009)

Ah, I messed up the shar, it didn't include the patch files. Try this one:

http://pastebin.com/f32a519f1


----------



## ChrisKnight (Dec 19, 2009)

swills said:
			
		

> Ah, I messed up the shar, it didn't include the patch files. Try this one:
> 
> http://pastebin.com/f32a519f1



There is a new bug.  I get a while slew of file creation errors until I do a "mkdir -p open-vm-tools/files".  Not the end of the world, but kinda messy.

Otherwise, it builds and installs nicely.

-Chris


----------



## swills@ (Dec 19, 2009)

The files directory is just a problem with the shar. Like you said, not a huge deal.

The real question is, Once it's built and installed, does it work?


----------



## ChrisKnight (Dec 20, 2009)

swills said:
			
		

> The files directory is just a problem with the shar. Like you said, not a huge deal.
> 
> The real question is, Once it's built and installed, does it work?



It appears to be working.  vxn0 ethernet devices are working.  Shutdown and restart from the vSphere console is working.

Are there any tests you would like me to run?

-Chris


----------



## Cronist (Dec 25, 2009)

*8.0-RELEASE FreeBSD 8.0-RELEASE*

i can not install open-vm-tools under freebsd 8


```
In file included from @/sys/bus.h:542,
                 from if_vxn.c:57:
./device_if.h:102: error: stray '\335' in program
./device_if.h:102: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CE_PROBE'
./device_if.h:139: error: stray '\335' in program
./device_if.h:139: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CE_'
./device_if.h:139: error: stray '\335' in program
./device_if.h:139: error: stray '\335' in program
./device_if.h:174: error: stray '\335' in program
./device_if.h:174: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CE_ATTACH'
./device_if.h:208: error: stray '\335' in program
./device_if.h:208: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CE_DETACH'
./device_if.h:234: error: stray '\335' in program
./device_if.h:234: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CE_SHUTDOWN'
./device_if.h:269: error: stray '\335' in program
./device_if.h:269: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CE_SUSPEND'
./device_if.h:299: error: stray '\335' in program
./device_if.h:299: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CE_RESUME'
./device_if.h:333: error: stray '\335' in program
./device_if.h:333: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'CE_QU'
./device_if.h:333: error: stray '\335' in program
In file included from @/sys/bus.h:543,
                 from if_vxn.c:57:
./bus_if.h:42: error: stray '\335' in program
./bus_if.h:42: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'NT_CH'
./bus_if.h:42: error: stray '\335' in program
./bus_if.h:103: error: stray '\335' in program
./bus_if.h:103: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'VAR'
./bus_if.h:134: error: stray '\335' in program
./bus_if.h:134: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'TE_'
./bus_if.h:134: error: stray '\335' in program
./bus_if.h:156: error: stray '\335' in program
./bus_if.h:156: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LD_DETACHED'
./bus_if.h:179: error: stray '\335' in program
./bus_if.h:179: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'VER_ADDED'
./bus_if.h:211: error: stray '\335' in program
./bus_if.h:211: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LD'
./bus_if.h:285: error: stray '\335' in program
./bus_if.h:285: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'VATE_RESOURCE'
./bus_if.h:313: error: stray '\335' in program
./bus_if.h:313: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'VATE_RESOURCE'
./bus_if.h:381: error: stray '\335' in program
./bus_if.h:381: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'NTR'
./bus_if.h:411: error: stray '\335' in program
./bus_if.h:411: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'NTR'
./bus_if.h:520: error: stray '\335' in program
./bus_if.h:520: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ST'
./bus_if.h:548: error: stray '\335' in program
./bus_if.h:548: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LD_PRESENT'
./bus_if.h:573: error: stray '\335' in program
./bus_if.h:573: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LD_PNP'
./bus_if.h:573: error: stray '\335' in program
./bus_if.h:599: error: stray '\335' in program
./bus_if.h:599: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'LD_LOCAT'
./bus_if.h:599: error: stray '\335' in program
./bus_if.h:622: error: stray '\335' in program
./bus_if.h:622: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'ND_'
./bus_if.h:622: error: stray '\335' in program
./bus_if.h:645: error: stray '\335' in program
./bus_if.h:645: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'G_'
./bus_if.h:645: error: stray '\335' in program
./bus_if.h:675: error: stray '\335' in program
./bus_if.h:675: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'NTED_CH'
./bus_if.h:675: error: stray '\335' in program
./bus_if.h:715: error: stray '\335' in program
./bus_if.h:715: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'NT_DEV'
./bus_if.h:715: error: stray '\335' in program
./bus_if.h:715: error: stray '\335' in program
In file included from @/dev/pci/pcivar.h:212,
                 from if_vxn.c:73:
./pci_if.h:23: error: stray '\335' in program
./pci_if.h:23: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_READ_CONF'
./pci_if.h:23: error: stray '\335' in program
./pci_if.h:37: error: stray '\335' in program
./pci_if.h:37: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_WR'
./pci_if.h:37: error: stray '\335' in program
./pci_if.h:37: error: stray '\335' in program
./pci_if.h:50: error: stray '\335' in program
./pci_if.h:50: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_GET_POWERSTATE'
./pci_if.h:62: error: stray '\335' in program
./pci_if.h:62: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_SET_POWERSTATE'
./pci_if.h:75: error: stray '\335' in program
./pci_if.h:75: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_GET_VPD_'
./pci_if.h:75: error: stray '\335' in program
./pci_if.h:89: error: stray '\335' in program
./pci_if.h:89: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_GET_VPD_READONLY'
./pci_if.h:102: error: stray '\335' in program
./pci_if.h:102: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_ENABLE_BUSMASTER'
./pci_if.h:114: error: stray '\335' in program
./pci_if.h:114: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_D'
./pci_if.h:114: error: stray '\335' in program
./pci_if.h:126: error: stray '\335' in program
./pci_if.h:126: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_ENABLE_'
./pci_if.h:126: error: stray '\335' in program
./pci_if.h:138: error: stray '\335' in program
./pci_if.h:138: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_D'
./pci_if.h:138: error: stray '\335' in program
./pci_if.h:138: error: stray '\335' in program
./pci_if.h:150: error: stray '\335' in program
./pci_if.h:150: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_ASS'
./pci_if.h:150: error: stray '\335' in program
./pci_if.h:150: error: stray '\335' in program
./pci_if.h:163: error: stray '\335' in program
./pci_if.h:163: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_F'
./pci_if.h:163: error: stray '\335' in program
./pci_if.h:176: error: stray '\335' in program
./pci_if.h:176: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_ALLOC_MS'
./pci_if.h:176: error: stray '\335' in program
./pci_if.h:188: error: stray '\335' in program
./pci_if.h:188: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_ALLOC_MS'
./pci_if.h:188: error: stray '\335' in program
./pci_if.h:201: error: stray '\335' in program
./pci_if.h:201: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_REMAP_MS'
./pci_if.h:201: error: stray '\335' in program
./pci_if.h:214: error: stray '\335' in program
./pci_if.h:214: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_RELEASE_MS'
./pci_if.h:214: error: stray '\335' in program
./pci_if.h:226: error: stray '\335' in program
./pci_if.h:226: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_MS'
./pci_if.h:226: error: stray '\335' in program
./pci_if.h:238: error: stray '\335' in program
./pci_if.h:238: error: expected '=', ',', ';', 'asm' or '__attribute__' before '_MS'
./pci_if.h:238: error: stray '\335' in program
cc1: warnings being treated as errors
In file included from if_vxn.c:73:
@/dev/pci/pcivar.h: In function 'pci_get_subvendor':
@/dev/pci/pcivar.h:244: warning: implicit declaration of function 'BUS_READ_IVAR'
@/dev/pci/pcivar.h:244: warning: nested extern declaration of 'BUS_READ_IVAR'
@/dev/pci/pcivar.h: In function 'pci_set_subvendor':
@/dev/pci/pcivar.h:244: warning: implicit declaration of function 'BUS_WRITE_IVAR'
@/dev/pci/pcivar.h:244: warning: nested extern declaration of 'BUS_WRITE_IVAR'
@/dev/pci/pcivar.h: In function 'pci_read_config':
@/dev/pci/pcivar.h:274: warning: implicit declaration of function 'PCI_READ_CONFIG'
@/dev/pci/pcivar.h:274: warning: nested extern declaration of 'PCI_READ_CONFIG'
@/dev/pci/pcivar.h: In function 'pci_write_config':
@/dev/pci/pcivar.h:280: warning: implicit declaration of function 'PCI_WRITE_CONFIG'
@/dev/pci/pcivar.h:280: warning: nested extern declaration of 'PCI_WRITE_CONFIG'
@/dev/pci/pcivar.h: In function 'pci_enable_busmaster':
@/dev/pci/pcivar.h:318: warning: implicit declaration of function 'PCI_ENABLE_BUSMASTER'
@/dev/pci/pcivar.h:318: warning: nested extern declaration of 'PCI_ENABLE_BUSMASTER'
@/dev/pci/pcivar.h: In function 'pci_disable_busmaster':
@/dev/pci/pcivar.h:324: warning: implicit declaration of function 'PCI_DISABLE_BUSMASTER'
@/dev/pci/pcivar.h:324: warning: nested extern declaration of 'PCI_DISABLE_BUSMASTER'
@/dev/pci/pcivar.h: In function 'pci_enable_io':
@/dev/pci/pcivar.h:330: warning: implicit declaration of function 'PCI_ENABLE_IO'
@/dev/pci/pcivar.h:330: warning: nested extern declaration of 'PCI_ENABLE_IO'
@/dev/pci/pcivar.h: In function 'pci_disable_io':
@/dev/pci/pcivar.h:336: warning: implicit declaration of function 'PCI_DISABLE_IO'
@/dev/pci/pcivar.h:336: warning: nested extern declaration of 'PCI_DISABLE_IO'
@/dev/pci/pcivar.h: In function 'pci_get_vpd_ident':
@/dev/pci/pcivar.h:342: warning: implicit declaration of function 'PCI_GET_VPD_IDENT'
@/dev/pci/pcivar.h:342: warning: nested extern declaration of 'PCI_GET_VPD_IDENT'
```


----------



## swills@ (Dec 28, 2009)

ChrisKnight said:
			
		

> It appears to be working.  vxn0 ethernet devices are working.  Shutdown and restart from the vSphere console is working.
> 
> Are there any tests you would like me to run?
> 
> -Chris



That's exactly what I needed, thanks!


----------



## swills@ (Dec 28, 2009)

Cronist said:
			
		

> i can not install open-vm-tools under freebsd 8



Not able to reproduce that. Do you have kernel source installed?


----------



## swills@ (Jan 2, 2010)

Well, the port was updated, so I guess if you're still having trouble, submit a PR and the maintainer will take a look.


----------



## rhyous (Jan 30, 2010)

For those of you who are haven't seen it already, I documented my experience with vmware tools on FreeBSD 8 and so far, I am quite pleased.

How to install VMWare-tools on FreeBSD 8?

This was with VMWare workstation 6.5.3.


----------



## gnoma (Aug 6, 2011)

Well, 

I've try to install vmware tools from vshpere. Compile OK, but the script didn't load one of the kernel modules. I googled it and it appears that this is a known issue. I followed instructions how to recompile manually this module and replace the original compiled. Click  http://falz.net/vmware_freebsd_tools 

However there was still problems. When I run the script for the first time, it brings me to a configuration script and after that it suppose to start the tools every time. I don't care about xorg and that kind of stuff, because I am dealing mostly with servers. But I do want it to running automatically, because this are servers after all and I don't want to check them every 20 minutes if the tools are running.
But the vmware tools was running about 10 minutes and then stop. Rerunning the script didn't start directly the tools, it brings me back to the configuration script. If I am not there to reconfigure them again, everything will fail.

So lots of problems and I didn't manage to get them work OK. 

So I got the open vm tools, they compile just fine and run with no problems. But have upcoming migration, new better vmware license, and I'll run clusters.
I really need to know if the open vm tools can do the job with the vmotion, the data recovery backup solution and all that cluster features without downtime of the virtual machines. 

Or I'll need to get back to the original vmware tools and continue to try to install and run them again.

Thanks a lot : )


----------

