
###################################
B.A.T.M.A.N. Installation and Usage
###################################

Compiling from source
=====================

Pre-requirements
---------------

You need the usual compile environment and the libpthread-library
and the kernel module "tun". Both should already be installed on
your machine, if you use a PC with Linux. On embedded devices
both may not be installed in order to save space. GNU Make is needed
for compilation.

The ports to *BSD and Mac OS operating systems are currently not
available. If you're interested in porting and maintaining B.A.T.M.A.N.
for these systems, please contact us. We would appreciate your help.

Tweaking
--------

You can tweak the program requirements by editing the Makefile. 


Getting rid of the policy-routing requirement in the Linux kernel:

By default batmand requires policy-routing to be enabled in the Linux
kernel.  On many embedded devices this can be an obstacle if you want to get batmand
running, because it requires to install a different kernel.

Remove the comment hash (#) leading this line in the Makefile:
#NO_POLICY_ROUTING = -DNO_POLICY_ROUTING 

Compiling
---------

You don't necessarily need to compile. May be your distribution or our
download store offers precompiled packages. Check
https://www.open-mesh.org/projects/open-mesh/wiki/Download to get an overview.

Download and compile the latest stable sources from the download section
https://www.open-mesh.org/projects/open-mesh/wiki/Download by executing eg.:

$ wget https://downloads.open-mesh.org/batman/stable/sources/batmand/batmand-0.3.2.tar.gz
$ tar xzvf batmand-0.3.2.tar.gz
$ cd batman-0.3.2
$ make

After the compilation process is finished you'll find a executable
file called 'batmand'. This executable is quite big because it is
not stripped. Don't strip it if you want to help us finding a bug
in the daemon. Strip it by executing:

$ strip batmand

Install by executing (as root):

$ make install

Or start it right from the directory where you compiled it by
issuing:

./batmand

See the README file for "getting started" instructions or consult the
manpage to get an overview about the command line options.

