NEmu

Network Emulator for Mobile Universes

Tutorial - Setup NEmu on Linux

This tutorial is build on Debian Wheezy but you can choose another distribution of course.

System configuration

First of all, we have to install several dependent packages in order to build and to use NEmu. Be aware that name of packages and the installation process can be a bit different on another Linux distribution.

$ su root
root# apt-get install make g++ libreadline-dev
root# apt-get install libboost-system-dev libboost-thread-dev
root# apt-get install libboost-chrono-dev libboost-regex-dev
root# apt-get install libssl-dev libcrypto++-dev libvdeplug-dev
root# apt-get install findutils graphviz vde2 sshfs squashfs-tools
root# apt-get install qemu qemu-kvm python2.7
root# apt-get install openssh subversion

NEmu configuration

Then, we get NEmu:

$ svn co svn://svn.valab.net/nemu nemu.d

If your installation of boost libraries is located outside the default system library path, you have to edit rcd/tools/Makefile and add the valid paths before calling the init process.

INCLUDE_DIRS={boost include path}
LIB_SHARED_DIRS={boost lib path}

For example:

INCLUDE_DIRS=/opt/local/include
LIB_SHARED_DIRS=/opt/local/lib

After this step, we have to build NEmu components:

$ cd nemu.d
$ ./init.py

A file called init.log will be created in order to summarize the result of the init process.

Environment configuration

You have also to set a shell environment variable called NEMUROOT. This one has to be set with the path of nemu.d. You can (or rather should) also setup an alias.

$ export NEMUROOT={path to nemu.d}
$ alias nemu="$NEMUROOT/nemu.py"

You're ready to start

$ nemu
Welcome to the Network Emulator for Mobile Universes [NEmu]
[nemu]~>