Changes between Version 2 and Version 3 of Documentation/OpenWrt


Ignore:
Timestamp:
May 14, 2010, 11:07:43 AM (14 years ago)
Author:
Christoph Mayer
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/OpenWrt

    v2 v3  
    33== Introduction ==
    44
    5  * what is openwrt etc
     5This 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).
    66
    77== Preparation ==
    88
    9  * setting up toolchain, which scripts do what
    10  * attach scripts etc. directly on this site
     9You 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.
    1110
    12 == Cross Compiling ==
     11You 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
    1312
    14  * cross compiling ariba
     13On a fresh install, you will need to install following packages:
     14
     15opkg update
     16opkg install bash gdbserver kmod-usb-core kmod-usb-storage kmod-usb2 libopenssl libpthread libstdcpp swap-utils
     17
     18Depending on the format of your flash drive, you might also need: kmod-fs-vfat, kmod-fs-ext2 or kmod-fs-ext3.
     19
     20I've included a few little scripts that made my life on the OpenWrt box easier in openwrt-scripts.
     21
     22
     23At the time of writing, we still need to copy a few libs by hand from our toolchain environment to the router. Those are:
     24
     25toolchain/lib/libgcc_s.so.1 and
     26toolchain/usr/lib/libstdc++.so.6.0.13
     27
     28Be 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
     33Per 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
     35openwrt-buildroot should hold the latest openwrt buildroot. It can be obtained with:
     36
     37svn co svn://svn.openwrt.org/openwrt/trunk/
     38mv 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
     42To cross-compile ariba, do:
     43./build_toolchain                       - from the ariba-brcm-2.4 dir
     44ariba-brcm-2.4/bootstrap_ariba_libs     - from the ariba source tree
     45ariba-brcm-2.4/make_ariba               - from the ariba source tree
    1546
    1647== Deployment ==
    1748
    18  * how to get ariba on the router etc.
     49 * TODO: which files to copy where
    1950
    2051== Running ==
    2152
    22  * how to run ariba on the router
     53 * TODO: how to run ariba on the router
     54
     55== Ideas ==
     56
     57Ideas 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.