There are two ways to get minimega: by downloading a pre-compiled binary distribution, or by building from source yourself. Using a binary distribution is more convenient, but building from source means you can get the most up-to-date development version if desired.
minimega is available as a prebuilt, x86-64 debian package, or as a standalone tarball. The debian package is known to work on debian 7 (wheezy) and debian 8 (jessie), and is available here.
For other x86-64 systems, use the prebuilt tarball, available here. Simply unpack minimega and run it from the top level directory:
$ tar xjf minimega.tar.bz2 && cd minimega $ ./bin/minimega
You may find it convenient to place the minimega directory in
To build from source you will need a Go compiler version 1.8 or higher, libpcap headers, and libreadline headers. On a Debian-type system, you can install compile-time dependencies with:
$ apt-get install libpcap-dev libreadline-dev
Having installed the dependencies, grab the minimega source:
$ git clone firstname.lastname@example.org:sandia-minimega/minimega.git $ cd minimega
Next, check out the 2.3 release. If you wish to run the development version ("tip") of minimega, skip this command.
$ git checkout 2.3
Finally, compile minimega:
This will build and test each of the libraries and tools in the minimega distribution and create a bin/ sudirectory containing each of the minimega tools. If you have a Windows cross compiler for Go set up, it will also build windows binaries of several tools.
minimega is a single binary and needs no configuration files. However, because minimega makes use of external programs, you'll need to have some things installed--see the section "System requirements and runtime dependencies" below.
To deploy minimega to any number of nodes, simply copy the binary to each node. See the usage article for information about launching minimega.
Depending on your cluster configuration, it is also possible to have minimega
deploy itself. By launching minimega on a single node, you can use the
API which will cause minimega to copy itself and run remotely using
ssh on a
provided list of nodes. See the API documentation on
for more information, or read the article on setting up a cluster.
minimega is designed to be simple to deploy. It has only two runtime dependencies - libpcap and libreadline, both of which are usually included on standard linux distros.
minimega also has a number of external tools it executes. When you
start minimega, it will check to see if each of the tools it may need
are available in
$PATH. Depending on your intended use case, you may
not need every single external program.
If you plan to launch and maintain VMs, you'll need the following programs at a minimum:
We also recommend installing the following; they are not strictly necessary for basic VM use but are required for some more advanced operations:
If you intend to run Linux containers, you need to have the
cgroup enabled, but Debian (and some other distros) do not enable it by
default. If you try to start a container and get an error, you may need
to enable the memory cgroup.
To enable it, add the following to your kernel boot parameters:
On Debian, you can do this by opening /etc/default/grub and adding that
parameter to the
GRUB_CMDLINE_LINUX_DEFAULT line. It should end up
looking something like this:
Then run update-grub and reboot for the change to take effect.
The mailing list is the primary resource for both developers and users.