ZeroVM is a simple virtual machine. ZeroVM can run (and isolate) 64-bit x86 applications with a 32-bit address space. ZeroVM work under OS Linux on x86-64.
- get ZeroVM from github: https://github.com/Dazo-org/zerovm for example as archive: https://github.com/Dazo-org/zerovm/zipball/master
- install prerequisites: sudo apt-get install build-essential gcc-multilib g++-multilib libsdl1.2-dev texinfo libcrypto++-dev libssl-dev m4
- go to ZeroVM folder and run make
- if everything is ok you will see output of unit tests. in ZeroVM folder you can find "zerovm" executable
$ sudo apt-get install build-essential gcc-multilib g++-multilib libsdl1.2-dev texinfo libcrypto++-dev libssl-dev m4
Quickstart for installing ZeroVM (as a daemon) on Ubuntu (and possibly Debian).
$ sudo pacman -S autoconf automake binutils-multilib bison fakeroot flex libtool make patch pkg-config gcc-multilib sdl texinfo crypto++ openssl m4
Note that we can't use the
base-devel metapackage, because it tries to pull in the non-multilib versions of gcc and binutils.
The above simply installs all of the packages in the
base-devel, replacing gcc and binutils with their multilib variants.
$ mkdir zerovm_quickstart $ cd zerovm_quickstart $ wget -O- https://github.com/Dazo-org/zerovm/tarball/master | tar xzf - $ mv Dazo-org-zerovm-* zerovm $ cd zerovm $ make
Ok if you see green RUN OK PASSED messages that everything is fine and you have ZeroVM compiled for your platform!
Let's try to run ZeroVM
If you see a greeting message that means your ZeroVM was most probably correctly built and functioning.
ZeroVM SDK quickstart
For now, this is the NaCL SDK.
You need to obtain an SDK in order to be able to build samples and your own programs for ZeroVM. To download and install the SDK you need to consult following page (we recommend installing SDK in separate terminal window): https://developers.google.com/native-client/sdk/download.
For me it was (in a new terminal window):
$ cd ~/zerovm_quickstart $ mkdir sdk $ cd sdk $ wget http://commondatastorage.googleapis.com/nativeclient-mirror/nacl/nacl_sdk/nacl_sdk.zip $ unzip nacl_sdk.zip $ cd nacl_sdk $ ./naclsdk list $ ./naclsdk update
Now you can use newly installed custom versions of GNU toolchain to build attached samples or your own programs
... error: expected specifier-qualifier-list before ‘AES_KEY’: missing library. look at (2) of Installation chapter and issue given command