See Also
Appweb for the OpenWrt Platform
This document describes the process to build Appweb for the OpenWrt platform. For other platforms and generic build instructions, please read Building from Source Code.
Background
OpenWrt is a Linux project to create downloadable replacement firmware for consumer communications and storage devices. It supports devices such as the Linksys WRT54G router and the Linksys NSLU2 storage device.
The OpenWrt project provides a highly configurable environment with an active development forum. Most code in OpenWrt is based on a GPL license. For more information about OpenWrt, please consult: Wikipedia OpenWrt, and NSLU2-Linux Home Page.
Prerequisites
You will need the following components:
- Linux development system
- OpenWrt
- Appweb source package (this will be automatically downloaded by OpenWrt)
Steps
- Download OpenWrt.
svn checkout svn://svn.openwrt.org/openwrt/trunk kamikaze
Please read OpenWrt Documentation and Getting Source for full details.
-
Check out the package/appweb/Makefile.
cd packages svn co svn://svn.openwrt.org/openwrt/packages/appweb cd ..
- Configure the OpenWrt Linux kernel. From the top OpenWrt directory run the menu configuration tool.
make menuconfig
- Select Network and enable Appweb. You can either build Appweb into the base system or build it as a loadable and installable package. Select "*" to integrate into the base system or "M" to build a package.
- Build the OpenWrt Linux kernel.
make
- Flash the OpenWrt firmware to your device. This is highly device specific and you need to consult the OpenWrt and your device documentation. The new firmware can be found under the bin directory.
- If you build Appweb as a package, it will be built as bin/packages/*/appweb*.ipk. You will
need to install on your target by logging onto your device using ssh and then typing:
opkg install http://url_to_appweb_package"
- Once the firmware is loaded and Appweb installed, you can point your browser at the url:
http://hostname:8000/appweb.html
.
Configuration
The appweb source tree is built under the build_dir/*/appweb* directory. Appweb saves the OpenWrt configuration so that you can use make at any time inside the Appweb source tree. WARNING: If you modify the OpenWrt package/appweb/Makefile, OpenWrt will remove the Appweb source and re-download and extract the source code. So save any changes you make!
The Appweb configuration for OpenWrt includes: Ejscript, Sqlite, Regular Expressions, Authentication, Directory Listings, HTTP client, ranged and chunked transfers, error logging and file upload. You can modify this configuration by editing the configure command in OpenWrt packages/appweb/Makefile and the run make or make package/appweb/compile if you are selected to build Appweb as a package.