Project

General

Profile

Feature #36

vmware tools

Added by nuttervm - about 9 years ago. Updated over 1 year ago.

Status:
Closed
Priority:
Nice to have
Assignee:
Josh Paetzel
Category:
Middleware
Target version:
-
Estimated time:
Severity:
Reason for Closing:
Reason for Blocked:
Needs QA:
Yes
Needs Doc:
Yes
Needs Merging:
Yes
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:

Description

I believe you should make vmware tools an optional and/or integrated part of the install package. It will make testing beta versions easier, encourage adoption, etc.

There are multiple ways to install it via source or a freebsd package. It should be relatively easy to add to the system.

See the following links:
http://open-vm-tools.sourceforge.net/
http://www.freebsd.org/cgi/ports.cgi?query=vm-tools&stype=all
http://www.freebsd.org/cgi/cvsweb.cgi/ports/emulators/open-vm-tools-nox11/

History

#1 Updated by Josh Paetzel about 9 years ago

  • Status changed from Unscreened to Fix In Progress

Agreed. The tools have some kernel modules they include, IIRC there's a way to detect if the environment is a VM. It would be desirable to load the kernel modules only when in a VM.

#2 Updated by nuttervm - about 9 years ago

Check out this sysutil: http://www.freebsdsoftware.org/sysutils/dmidecode.html and here: http://www.commandlinefu.com/commands/view/3636/detect-if-we-are-running-on-a-vmware-virtual-machine

It is one method I saw that should enable you to detect if you're running inside a VM.

#3 Updated by nuttervm - about 9 years ago

Oh yeah... and if you want the easy poor man's version without installing additional packages, you can just do a dmesg | grep -i vm command and you will see a few vmware devices.

I'm not sure of a better pre-made software package that handles multiple visualization backends, but i imagine a similar grep for keywords like xen, parallels, virtualbox, etc might work well enough to get you by.

#4 Updated by Anonymous about 9 years ago

I think Josh fixed this today by adding openvm tools.

#5 Updated by Josh Paetzel about 9 years ago

The utilities attached to this ticket such as dmidecode and so forth are available too late in the boot to help. The [[FreeBSD]] loader detects a vm environment by checking the value of smbios. This is available early enough that a forth script can be written in the loader that checks the variable and does the appropriate things based on the value. For instance, early iterations of auto-setting kern.hz based on the environment used this technique, although now it's hard wired in the loader.

Since development time on this technique is fairly high, a more brute force method has been used. The tools are always enabled. One could manually disable them in rc.conf if needed.

In the future we'll do something more elegant. For now, the hammer is open-vm-tools are included in the image and always enabled.

#6 Updated by nuttervm - about 9 years ago

Agreed, I think adding vmtools to the base image is the easy/sensible thing to do for the time being. Thanks for the quick turn around, i will let you knwo if i have any issues in the next build release.

#7 Updated by nuttervm - about 9 years ago

  • Status changed from Closed to Investigation

One quick note I wanted to share, then you can re-close this ticket.

The PFSense project has a routine they use to detect VMWare. I figured since they are also [[FreeBSD]]/NanoBSD based you might be able to use their method of detection rather than reinventing the wheel. Alternatively, you might collaborate to make something "better" that both projects can take advantage of.

Check out their 2.0 beta snapshot, and install it. One of the first steps of the install process is that it mentions detecting VMWare.

#8 Updated by Josh Paetzel about 9 years ago

  • Status changed from Investigation to Fix In Progress

Thanks for the tip. I'll leave this open until I have a chance to evaluate the solution from pfsense.

#9 Updated by Anonymous almost 9 years ago

pf sense solution doesn't quite work right. Not doing the demand load at this time.

#10 Updated by Jordan Hubbard over 4 years ago

  • Target version deleted (2)

#11 Avatar?id=14398&size=24x24 Updated by Kris Moore about 4 years ago

Commit: 6c8197e11dfefcb3433174c26505b7e2b579df59
https://github.com/pcbsd/freebsd-ports/commit/6c8197e11dfefcb3433174c26505b7e2b579df59
Author: Bernard Spil <>
Date: 2015-09-24 (Thu, 24 Sep 2015)

Log Message:
-----------
Merge pull request #36 from Sp1l/master

Bump SHLIBVER for LibreSSL to 36

#12 Avatar?id=14398&size=24x24 Updated by Kris Moore about 4 years ago

Commit: eac0d507dbc63514e8124244009d68a5a0786687
https://github.com/pcbsd/freebsd-ports/commit/eac0d507dbc63514e8124244009d68a5a0786687
Author: pawel <>
Date: 2015-11-24 (Tue, 24 Nov 2015)

Log Message:
-----------
Update to version 0.2.0

Changelog:
- quiet batch mode (not available on OSX) - #13
- bugfixes in Napisy24 engine - #23
- icons placed at directories according to their sizes - #24
- HiDPI display awareness (OSX) - #27
- support for paths containing special characters (Windows) - #28
- bugfixed SRT conversion adding empty lines to resulting file (Windows) - #29
- application self-closing in batch mode (OSX) - #31
- added version information to .exe file (Windows) - #32
- bugfixes in file encoding detection (UTF-8 with BOM amongst others) - #34
- preserving original file encoding during subtitle format conversion
- bugfixed backup language support - #36

#13 Avatar?id=14398&size=24x24 Updated by Kris Moore almost 4 years ago

Commit: 3bd19b1310a12a6bae51db5d7ca2d6a6ed1aed17
https://github.com/pcbsd/freebsd-ports/commit/3bd19b1310a12a6bae51db5d7ca2d6a6ed1aed17
Author: truckman <>
Date: 2016-02-03 (Wed, 03 Feb 2016)

Log Message:
-----------
Upgrade net/nmsg to 0.11.0:

nmsg (0.11.0)

[ Henry Stern ]
  • Add an interval randomization option that randomizes the initial offset
    within the selected time interval. This functionality is exposed via the
    libnmsg nmsg_io_set_interval_randomized() function and the nmsgtool -R /
    --randomize command-line option (#27, #33).
  • Add documention for nmsgtool -j / --readjson and -J / --write-json
    command-line options (#26, #28).
  • Add PKG_CHECK_MODULES dependency on yajl >= 2.1.0 (#29, #31).
  • Make nmsgtool -k / --kicker work when combined with -c or -t, when
    producing output in JSON format (#25, #38).
  • Fix compiler warning [-Wtautological-compare] in
    _nmsg_msgmod_json_to_payload_load() (#36, #39).
  • Add nmsg_message_get_num_field_values(),
    nmsg_message_get_num_field_values_by_idx() functions (#5, #40).
[ Robert Edmonds ]
  • Remove the unused enum nmsg_modtype from the internal libnmsg API (#30).
  • Header file cleanups (#14, #34).
  • Rewrite nmsg_res_lookup() to use a switch, which eliminates a Clang
    warning (#14, #35).
  • Add a message filtering capability to the libnmsg I/O loop, including
    external filter module plugin and nmsgtool support (#41, #43, #44).
[ Mike Schiffman ]
  • Add yajl/ prefix to #include's of yajl headers (#37)

Pet portlint

Sponsored by: Farsight Security, Inc.

#14 Avatar?id=14398&size=24x24 Updated by Kris Moore almost 4 years ago

Commit: 3bd19b1310a12a6bae51db5d7ca2d6a6ed1aed17
https://github.com/pcbsd/freebsd-ports/commit/3bd19b1310a12a6bae51db5d7ca2d6a6ed1aed17
Author: truckman <>
Date: 2016-02-03 (Wed, 03 Feb 2016)

Log Message:
-----------
Upgrade net/nmsg to 0.11.0:

nmsg (0.11.0)

[ Henry Stern ]
  • Add an interval randomization option that randomizes the initial offset
    within the selected time interval. This functionality is exposed via the
    libnmsg nmsg_io_set_interval_randomized() function and the nmsgtool -R /
    --randomize command-line option (#27, #33).
  • Add documention for nmsgtool -j / --readjson and -J / --write-json
    command-line options (#26, #28).
  • Add PKG_CHECK_MODULES dependency on yajl >= 2.1.0 (#29, #31).
  • Make nmsgtool -k / --kicker work when combined with -c or -t, when
    producing output in JSON format (#25, #38).
  • Fix compiler warning [-Wtautological-compare] in
    _nmsg_msgmod_json_to_payload_load() (#36, #39).
  • Add nmsg_message_get_num_field_values(),
    nmsg_message_get_num_field_values_by_idx() functions (#5, #40).
[ Robert Edmonds ]
  • Remove the unused enum nmsg_modtype from the internal libnmsg API (#30).
  • Header file cleanups (#14, #34).
  • Rewrite nmsg_res_lookup() to use a switch, which eliminates a Clang
    warning (#14, #35).
  • Add a message filtering capability to the libnmsg I/O loop, including
    external filter module plugin and nmsgtool support (#41, #43, #44).
[ Mike Schiffman ]
  • Add yajl/ prefix to #include's of yajl headers (#37)

Pet portlint

Sponsored by: Farsight Security, Inc.

Also available in: Atom PDF