14 | | * cross compiling ariba |
| 13 | On a fresh install, you will need to install following packages: |
| 14 | |
| 15 | opkg update |
| 16 | opkg install bash gdbserver kmod-usb-core kmod-usb-storage kmod-usb2 libopenssl libpthread libstdcpp swap-utils |
| 17 | |
| 18 | Depending on the format of your flash drive, you might also need: kmod-fs-vfat, kmod-fs-ext2 or kmod-fs-ext3. |
| 19 | |
| 20 | I've included a few little scripts that made my life on the OpenWrt box easier in openwrt-scripts. |
| 21 | |
| 22 | |
| 23 | At the time of writing, we still need to copy a few libs by hand from our toolchain environment to the router. Those are: |
| 24 | |
| 25 | toolchain/lib/libgcc_s.so.1 and |
| 26 | toolchain/usr/lib/libstdc++.so.6.0.13 |
| 27 | |
| 28 | Be sure to set the symlinks on the router correctly, e.g. libstdc++.so.6 -> libstdc++.so.6.0.13 |
| 29 | |
| 30 | |
| 31 | == Cross Compiling == |
| 32 | |
| 33 | 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. |
| 34 | |
| 35 | openwrt-buildroot should hold the latest openwrt buildroot. It can be obtained with: |
| 36 | |
| 37 | svn co svn://svn.openwrt.org/openwrt/trunk/ |
| 38 | mv trunk openwrt-buildroot |
| 39 | |
| 40 | "variables" defines a bunch of variables used by all cross-compilation scripts, you should tweak those to best fit your compiling environment. |
| 41 | |
| 42 | To cross-compile ariba, do: |
| 43 | ./build_toolchain - from the ariba-brcm-2.4 dir |
| 44 | ariba-brcm-2.4/bootstrap_ariba_libs - from the ariba source tree |
| 45 | ariba-brcm-2.4/make_ariba - from the ariba source tree |
22 | | * how to run ariba on the router |
| 53 | * TODO: how to run ariba on the router |
| 54 | |
| 55 | == Ideas == |
| 56 | |
| 57 | Ideas for improvement and bug-fixing: |
| 58 | |
| 59 | - The build_toolchain script is not very tolerant to changes in the openwrt buildroot, so it may have to be adapted after time. |
| 60 | |
| 61 | - Link against ulibc++ isntead of libstdc++, could have better performance. |
| 62 | |
| 63 | - 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. |
| 64 | |
| 65 | - 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. |