BRN:Software:Build and Distribution

From
Jump to navigation Jump to search

Requirements

For desired new platforms the following critical items are required:

  • UNIX-like development machine (Linux recommended) with common tools installed (make, gcc, subversion, patch, wget, ...)
  • GCC (cross) compiler to create binary code for the target platform
  • Linux kernel (version 2.6) with support for target platform
  • click (modular router) patch (hopefully working on target platform? x86 and mips tested)
  • Wireless network device supporting to send raw frames (e.g. Atheros cards)


Build software

The build process to get a ready-to-run BRN software package is described in general and examples are made for the Netgear's WGT634U mips platform.


  1. The basic software you will need is a Compiler for the new target platform. If you do not have a running UNIX system on the target platform you will need a cross-compiler, which runs on your development machine (e.g. a x86 Linux system) and creates binary code for the target platform. Read the linked page to get details for the WGT634U.
  2. The Linux operating system controls the execution of all BRN software and provides different device drivers for the hardware components of the target platform. You will need a (cross) compiler to build a Linux kernel. Notice: For some platform you will need extra kernel-patches to get full target platform support!
  3. (optional) Very useful would be a Serial Console to interact directly with your target platform node.
  4. The most of BRN's functionality is implemented with the help of the click modular router framework. Read how to build the click software for userspace and/or as linuxmodule. /////// brn-patches???
  5. Madwifi is the project name for the Atheros open source network device driver. The build depends on the linux kernel source tree.
  6. For updates via mesh network you will need BRN-SDP.
  7. Like every UNIX system the BRN meshnodes need a Root filesystem at boot time.
  8. (optional) Before writing an image to flash, you can try to boot your target platform from network via TFTP and NFS.
  9. Every target platfrom uses it's own way to install/update the base image. Build and install an image could be interesting for deployment of BRN images.

Next



New approach - OpenWrt

  1. Build OpenWrt toolchain and image
  2. Build click with OpenWrt toolchain
  3. Install ipkg packages for /openwrtroot:

nfs-student2:~ # /wgtroot/bin/ipkg -o /openwrtroot/ install ~kurth/macchanger_1.5.0-1_mipsel.ipk

  1. BerlinRoofNet ipkg
  2. Files
  3. TODO
    1. Image: fix /usr/lib/cgi-bin/webupgrade.cgi (1.4.1.10 only?, diff to original and openwgt release?)
  4. HTTP-Redirect for access points
  5. OpenWrt USB-Boot

Troubleshooting / FAQ

Debugging

Weblinks

Other web sites providing information about the Netgear WGT634U and other embedded linux routers: