An Overlay-based
Virtual Network Substrate
SpoVNet

Ariba on OpenWrt Routers

Introduction

This suite aids the cross-compilation of the Ariba framework for Openwrt on a Broadcom 2.4 chipset (e.g. Openwrt on an Asus WL-500g Wireless Router). Get the required scripts and patches here: ariba-brcm-2.4.tar.gz

Preparation

You should use external storage for your Ariba libs, for example an USB flash drive. You also need aditional run-time memory, so your flash drive should include a swap partition. Also, there seems to be a problem with symlinks on fat, so better use ext2 or ext3.

You should install the latest bleeding edge snapshot of Openwrt, for the Asus WL-500g this would be: http://downloads.openwrt.org/snapshots/trunk/brcm-2.4/openwrt-brcm-2.4-squashfs.trx

On a fresh install, you will need to install following packages:

opkg update
opkg install bash gdbserver kmod-usb-core kmod-usb-storage kmod-usb2 libopenssl libpthread libstdcpp swap-utils

Depending on the format of your flash drive, you might also need: kmod-fs-vfat, kmod-fs-ext2 or kmod-fs-ext3. I've included a few little scripts that made my life on the OpenWrt box easier in openwrt-scripts.

At the time of writing, we still need to copy a few libs by hand from our toolchain environment to the router. Those are:

toolchain/lib/libgcc_s.so.1 and
toolchain/usr/lib/libstdc++.so.6.0.13

Be sure to set the symlinks on the router correctly, e.g. libstdc++.so.6 -> libstdc++.so.6.0.13

Cross Compiling

Per default, the ariba-brcm-2.4 directory should be in the top level of an ariba source tree, e.g. ariba/ariba-brcm-2.4. You can tweak this by editing ARIBA_BRCM_DIR in the cross-compilation scripts.

openwrt-buildroot should hold the latest openwrt buildroot. It can be obtained with:

svn co svn://svn.openwrt.org/openwrt/trunk/
mv trunk openwrt-buildroot

"variables" defines a bunch of variables used by all cross-compilation scripts, you should tweak those to best fit your compiling environment.

To cross-compile ariba, do: ./build_toolchain - from the ariba-brcm-2.4 dir ariba-brcm-2.4/bootstrap_ariba_libs - from the ariba source tree ariba-brcm-2.4/make_ariba - from the ariba source tree

Deployment

  • TODO: which files to copy where

Running

  • TODO: how to run ariba on the router

Ideas

Ideas for improvement and bug-fixing:

  • The build_toolchain script is not very tolerant to changes in the openwrt buildroot, so it may have to be adapted after time.
  • Link against ulibc++ isntead of libstdc++, could have better performance.
  • Try getting the log4cxx stuff to work. Note: I think it actually runs faster without log4cxx, so I don't know if this is worth the effort.
  • Stick a Bluetooth dongle in the router and see how this works out. You'll have to install (and possibly compile) the right kernel modules for the router, apart from that they shouldn't be any problems.
Last modified 8 years ago Last modified on May 14, 2010, 11:17:29 AM

Attachments (1)

Download all attachments as: .zip