1.2 Supported Hosts
One of the major goals of TME is to work on as many hosts as
possible. This is done by design when test machines are available, but
it is obviously impossible to cover all platforms, even the major
ones. Nonetheless, I have tried to cover Linux & the major BSDs in use
today, but resource constraints & time considerations limit the
testing to just a few as follows -
- NetBSD - the original host platform of choice for developing TME. Runs
on the most host machine platforms. Now includes support for autonat
using NPF. A source package has been added to their
pkgsrc-wip repo under tme. See the
pkgsrc-wip project page for
more info on using it to install and try out source packages.
- OpenBSD - the most secure OS and arguably the hardest to develop for
as well. If it works here, it should work anywhere.
- FreeBSD - the most popular BSD. Good for getting the word out.
- PC-BSD - a FreeBSD derivative with a user-friendly graphical
interface. Very nice for beginners, but powerful enough for advanced
- DragonflyBSD - a BSD with many modern features. A good testbed for
trying out optimizations.
- Fedora Linux - For now, the only Linux testbed, but other distros
- Arch Linux - TME is now available in the Archlinux User Repository! It
should install without any problems. See Arch Linux-specific info in
the NFTables section below for a caveat, if you wish to use TAP/NAT
for Ethernet access.
- Windows - Preliminary support for building/running on Windows
platforms is provided through Cygwin. It should work out of the
box. See below for details. It should also build (natively or cross)
on MinGW, and run under the Wine emulator (use –without-x
–enable-threads=glib configure options). Preliminary Ethernet support is
available for Windows, using OpenVPN.
- Other - It should work on any POSIX platforms, sans whatever features
aren’t available on them. Illumos (a free version of Solaris) is one
example that has been tried, but doesn’t provide Ethernet support,
yet. OS X has NOT been tried, but it should be fairly simple to port
to that platform.
Another goal is to work on the latest versions of all these &
more. Expanding to other platforms is highly encouraged, and any
successes or patches to make it work on others is encouraged. Please
send any patches or info about other platforms to
firstname.lastname@example.org. As it expands, we would like to incorporate
any core patches that expand functionality to other platforms, while
keeping the others working. This requires a constant QA cycle across
all supported platforms, so may not always be possible. In particular,
any expansion should not break existing functionality on a known-good
host. This is another goal.
It should be relatively easy to install directly from a source tarball
(see below) on any of the hosts mentioned above. Every effort has been
made to make this possible with minimal fuss and no extra
configuration. Another one of the main goals was to make this as
self-contained a package as possible. No other tools should be needed
outside of the initial build process to get tmesh working. All
configuration is done with the tmesh scripts to keep things as simple
Packages may be made available at some point for some of the hosts
above, but should download original source from the site(s) documented
below. The original TME package (which stopped at 0.8 as of this
writing) is still packaged on most of these platforms.