Chapter 2. Software Requirements

You need to modify your kernel and install HIPL userspace software along with its dependencies in order to run HIP. You can patch your kernel by installing the binary kernel images (Ubuntu and Fedora) from here: http://hipl.hiit.fi/hipl/release/. The binary kernel images are based on vanilla kernel and therefore do not include any proprietary drivers or firmware images. As a result, you may have to install software for your WLAN interface manually.

This section describes how to build a custom kernel image with HIP-related patches and how to build the HIPL userspace software manually. If you don't want to build the HIPL software manually, you can install the userspace binary images from the release. Before reporting any bugs with last release, please build the bleeding edge software from the source because your issue may have been already resolved there.

As the first requirement, you also need know the basics on Linux kernel compilation and usage. Refer to linux/README for further instructions.

You need the following software to build and run the HIPL software bundle:

Mandatory:

Optional Software Requirements:

Network Requirements

As an example, this was what was required to type in Ubuntu Gutsy Gibbon for compiling the kernel and userspace software:

apt-get install bazaar libncurses5-dev kernel-package autoreconf automake autoconf libtool g++ libgtk2.0-dev libssl-dev libxml2-dev xmlto doxygen iproute netcat6 iptables-dev libcap-dev libsqlite3-dev uuid-dev

On Fedora 8: yum install bazaar openssl-devel libxml2-devel autoconf automake libtool iproute gtk2-devel xmlto doxygen iptables-devel libcap-devel sqlite-devel uuid-devel

On 64-bit Fedora 8, ln -s /usr/lib64/libipq.a /usr/lib/libipq.a was necessary. This has not been fixed in the HIPL build properly yet.

You should allow also HIP related traffic in your firewall. For example:

The last two rules basically allow the whole orchid namespace. You can set up more specific rules for HITs or use the hipfw to filter traffic (as explained in a later section).