# Haiku Network Kit: Build & installation instructions

Although the stack isn't quite finished, you can already test some basics.
You'll have to get the code, build it, install it and run it.
There isn't yet an easier way of getting the network stack, we're far from ready to release a binary package.

So, if you accept your mission :

1. Get familiar

   First, go to team web page.
   Have a look around and see the current status of the stack. Have a glance over the jobs, perhaps there's something that interests you?

2. Furbish your tools

   Get the build tools suite.
   You'll need CVS, JAM, the fixed LD linker

3. May the code be with you

   For dark reason, you should have the source code to build.
   So, you must checkout (anonymously) the full OBOS CVS:

   - Using CVS tool: follow the SourceForge information on CVS.
   - If you don't want to fight with 'cvs' command line syntax, I recommand you using CheckItOut tool, with these settings values:

     Project Name: | `open-beos`
     Location: | `/path/to/where/you/want/to/store/OBOS/cvs/tree/locally`
     Module Name: | `current`

     Only check "Open Tracker once Completed" option, if you want.
     There, click "Go". Patience, it take time (and bandwidth!)

   - Other solution: download and unzip the current CVS snapshot tarball from SourceForge.
     Beware, it's huge, expect around 13MB.
4. Build

   Building the whole Networking Kit stuffs was made easy by Jam rules.
   Simply run these commands from a Terminal:

   `$ cd /path/to/your/local/openbeos/current $ ./configure $ jam NetworkingKit`

   It should build all networking kit stuffs. If you encount any compile or link errors, report it to the network team mailing list.

5. Install

   There are basically two ways to install the networking kit. The first way is to do it manually, as is described below. The second way is easier, as you won't have to do anything manually. If you want to use the second way, use the command `jam install-networking`. This way you can skip all the manual steps described below. Please note that the Haiku provided utilities like ping, are located under your local `current/tests/kits/net/`, where you can execute them as often as you like.

   However, if you are the manual type of person, you can find the networking kit binaries now under your local `current/distro/x86.R1/*`
   To install:

   - open your `current/distro/x86.R1/beos/system/add-ons/kernel/drivers/bin` folder
   - copy the `net_stack_driver` and `net_server_driver` into your `/boot/home/config/add-ons/kernel/drivers/bin`
   - create in your `/boot/home/config/add-ons/kernel/drivers/dev/net` two symlinks `"net_stack_driver"` and `"net_server_driver"`, targetting the ones in `../../bin/net_{stack|server}_driver` (create this 'dev/net' directory if it don't exists yet)
   - copy the whole `current/distro/x86.R1/beos/system/add-ons/kernel/` network folder to your `/boot/home/config/add-ons/kernel`
     BEWARE: BONE users, you should disabled BONE own `/boot/beos/system/add-ons/kernel/network` modules folder, as our stack try to load these modules too, which currently throw you into KDL heaven...
     So, rename this folder into anything that make sense, like `network.bone`. It'll disabled BONE after a reboot, which is required anyway to test the OBOS stack...
   - copy the `libnet.so` and `libnetapi.so` libraries from your `current/distro/x86.R1/beos/system/lib` to a `lib` folder you should create into your `current/distro/x86.R1/beos/bin`, where the command line OBOS networking kit apps are located.
6. Test, test, test

   You should free one of your /dev/net/*/0 network card (by disable in BONEyard, or by disabling in Network for net_server) Then, run the OBOS ifconfig tool from Terminal to see (and start) the stack detected interface(s) Last, play with ping, arp, traceroute, etc. Also check out the details on the stack design.

###### This document is written by Philippe Houdoin and edited by Niels Reedijk. Last updated on July 30th, 2004