BRN:Software:Build and Distribution
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.
- 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.
- (optional) Build a Standarized Development Environment.
- 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!
- (optional) Very useful would be a Serial Console to interact directly with your target platform node.
- 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???
- Madwifi is the project name for the Atheros open source network device driver. The build depends on the linux kernel source tree.
- For updates via mesh network you will need BRN-SDP.
- Like every UNIX system the BRN meshnodes need a Root filesystem at boot time.
- (optional) Before writing an image to flash, you can try to boot your target platform from network via TFTP and NFS.
- 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.
New approach - OpenWrt
- Build OpenWrt toolchain and image
- Build click with OpenWrt toolchain
- Install ipkg packages for /openwrtroot:
nfs-student2:~ # /wgtroot/bin/ipkg -o /openwrtroot/ install ~kurth/macchanger_1.5.0-1_mipsel.ipk
- BerlinRoofNet ipkg
- Files
- TODO
- Image: fix /usr/lib/cgi-bin/webupgrade.cgi (1.4.1.10 only?, diff to original and openwgt release?)
- HTTP-Redirect for access points
- OpenWrt Installation
- OpenWrt USB-Boot
- OpenWrt NFS-Boot@x86
Troubleshooting / FAQ
Debugging
- Debugging userland applications on the mipsel using a remote gdb
- Kernel debugging with GDB ???
Weblinks
Other web sites providing information about the Netgear WGT634U and other embedded linux routers:
- http://pdos.csail.mit.edu/roofnet/doku.php?id=wgt634u
- http://forum.openwrt.org/viewtopic.php?pid=31794#p31794
- http://wiki.ip-phone-forum.de/software:ds-mod:development:flash
- ? http://wiki.openwrt.org/OpenWrtDocs (Some detailed subpages)
- ? http://openwrt.pbwiki.com/
- ? https://dev.openwrt.org/browser/trunk/openwrt/docs/buildroot-documentation.html?format=raw#binary