ZeroVM is a simple virtual machine. ZeroVM can run (and isolate) 64-bit x86 applications in a 32-bit address space. ZeroVM works under Linux x86_64. For more information check out ZeroVM.org
Everything has been tested on Ubuntu 10.04 and Ubuntu 12.04. No issues with VMWare Player. VirtualBox doesn't support SSE4.1, which is used by several of the provided samples.
From Ubuntu packages:
Packages for ZeroVM are available for Ubuntu 12.04. Choose from the following PPAs.
Installing from Latest:
sudo apt-get install python-software-properties sudo add-apt-repository ppa:zerovm-ci/zerovm-latest sudo apt-get update sudo apt-get install zerovm-zmq
Installing from Stable:
sudo apt-get install python-software-properties sudo add-apt-repository ppa:zerovm-ci/zerovm-stable sudo apt-get update sudo apt-get install zerovm-zmq
To install ZeroVM build environment see the toolchain installation guide.
Proceeed only after checking the link above.
Eclipse CDT installation
- If your system doesn't have JRE, install a recent JRE.
- Download Eclipse CDT from the Eclipse download site. No installation necessary, just unpack and run executable.
- Download and install EGit plugin for Eclipse
- Point EGit to
git://github.com/zerovm/zerovm.gitand pull the most recent ZeroVM sources.
- Select 'create C/C++ project from makefile" to create a new Eclipse project.
- Run the makefile to build the project and run unit tests.
If everything is ok you will see output of the unit tests. Now if
RUN OK PASSED messages, you have successfully compiled
ZeroVM for your platform! You'll find the
zerovm executable in
the project root directory.
Running ZeroVM and samples
$ cd ~/zerovm $ ./zerovm ZeroVM tag1 lightweight VM manager, build 2013-10-08 Usage: <manifest> [-l#] [-v#] [-T#] [-stFPQ] -l <gigabytes> file size limit (default 4Gb) -s skip validation -t <0..2> report to stdout/log/fast (default 0) -v <0..3> log verbosity (default 0) -F quit right before starting user session -P disable channels space preallocation -Q disable platform qualification -T enable time/call tracing
You should see a usage message similar to the one above. If not check out the troubleshooting section below.
Some samples can be found in the
More can be found in the
error: expected specifier-qualifier-list before ‘AES_KEY’
Solution: missing libssl-dev library. Check the system prerequisites.
/usr/bin/ld: cannot find -lvalidator collect2: error: ld returned 1 exit status make: *** [zerovm] Error 1