Version 5 (modified by 15 years ago) ( diff ) | ,
---|
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).
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.
Attachments (1)
- ariba-brcm-2.4.tar.gz (5.5 KB ) - added by 15 years ago.
Download all attachments as: .zip