-------------------------------------------------------------------------- Homenet3D for OpenWRT (v0.1): Building Firmware (released 22nd Jan 2014) -------------------------------------------------------------------------- This document is part of Homenet3D for OpenWRT: http://caia.swin.edu.au/urp/homenet3d/openwrt It provides instructions for building OpenWRT firmware including the Homenet3D package. If you want to use a prepackaged release for TP Link WR1043ND please go to: http://caia.swin.edu.au/urp/homenet3d/openwrt/ For instructions on how to install this firmware, see: http://caia.swin.edu.au/urp/homenet3d/downloads/homenet3d-openwrt-installing-firmware-v0.1.txt INTRODUCTION ------------ If you want to build your own OpenWRT Homenet3D firmware you will need to use the OpenWRT build system. Homenet3D has been tested with: - OpenWRT Barrier Breaker (bleeding edge) r38277 This firmware was originally built on a pre-prepared VirtualBox VM image. This image is available at: http://caia.swin.edu.au/urp/homenet3d/downloads/homenet3d-openwrt-build-env-light.ova (404.5 MB) If you have chosen to use one of these images you can skip the PREPARING SYSTEM section below. Otherwise the following section will step you through how to properly prepare your system to build OpenWRT and the Homenet3D package. PREPARING SYSTEM ---------------- ~: svn co -r 38277 svn://svn.openwrt.org/openwrt/trunk/ ~/openwrt/trunk trunk is the root folder of the source. make commands are issued from this folder. ~: cd openwrt/trunk ~: make defconfig ~: make prereq From: http://caia.swin.edu.au/urp/homenet3d/downloads/ Extract the tarball: homenet3d-openwrt-package-v0.1.tar.gz to ~/openwrt/customfeed/homenet3D Extract the tarball: libwebsockets-openwrt-package-v1.23.tar.gz to ~/openwrt/customfeed/libwebsockets ~: cp feeds.conf.default feeds.conf Edit feeds.conf to add line at the bottom (you can use the commented example): src-link customfeed [/absolute/path/to/your/home/dir]/openwrt/customfeed This updates the major OpenWRT package respositories (packages/luci) which contain a lot of the dependencies of Homenet3D: ~: ./scripts/feeds update customfeed packages luci ~: ./scripts/feeds install homenet3D libwebsockets luci bash luasocket This will have added to homenet3D and its library dependency (libwebsockets) into the OpenWRT build menu. homenet3d under "Homenet3D" libwebsockets under "Libraries" BUILDING -------- ~: make menuconfig Calling make menuconfig will bring up a graphical configuration for the firmware. There are a plethora of targets that this software can be built for. Below are three options that have been tested, although as previously mentioned the software should compile for any OpenWRT build: - MIPS (QEMU) - ARM (QEMU) - MIPS (TP Link WR1043ND) MIPS (QEMU) ----------- Set the 'Target System' and 'Subtarget' for MIPS. - Target System -> MIPS Malta CoreLV board (qemu) - Subtarget -> Little Endian - W3bworld -> homenet3D (*) Selecting the Homenet3D server will select all it's dependencies for install. Change Target Profile to build images for a different router. Exit and save the configuration. Finally build the image using: ~: make If you are building for the first time it will take a while to compile (additional sources will be fetched, so Internet access is required). The image provided on our website has these toolchains pre-built for convenience. Once complete the images are located in trunk/bin/malta/: - openwrt-malta-le-vmlinux-initramfs.elf For instructions on how to start the MIPS QEMU image look at the STARTING THE SERVER (ARM/MIPS) section in: http://caia.swin.edu.au/urp/homenet3d/downloads/homenet3d-openwrt-starting-up-v0.1.txt ARM (QEMU) ---------- Set the 'Target System' for ARM. - Target System -> ARM Ltd. Realview board (qemu) - W3bworld -> homenet3D (*) Selecting the Homenet3D server will select all it's dependencies for install. Change Target Profile to build images for a different router. Exit and save the configuration. Finally build the image using: ~: make If you are building for the first time it will take a while to compile (additional sources will be fetched, so Internet access is required). Once complete the images are located in trunk/bin/realview/: - openwrt-realview-vmlinux.elf For instructions on how to start the ARM QEMU image look at the STARTING THE SERVER (ARM/MIPS) section in: http://caia.swin.edu.au/urp/homenet3d/downloads/homenet3d-openwrt-starting-up-v0.1.txt MIPS (TP Link WR1043ND) ----------------------- Set the 'Target System' and 'Target Profile' for the TP-Link WR-1043ND. - Target System -> Atheros AR7xxx/AR9xxx - Target Profile -> TP-LINK TL-WR1043N/ND - W3bworld -> homenet3D (*) Selecting the Homenet3D server will select all it's dependencies for install. Change Target Profile to build images for a different router. Exit and save the configuration. Finally build the image using: ~: make If you are building for the first time it will take a while to compile (additional sources will be fetched, so Internet access is required). Once complete the images are located in trunk/bin/ar71xx/ (it will be something else if you had a different target system). for the TP-1043ND the image to use is called: - openwrt-ar71xx-generic-tl-wr1043nd-v1-squashfs-factory.bin The factory image is the one we want. For instructions on how to install the firmware look at: http://caia.swin.edu.au/urp/homenet3d/downloads/homenet3d-openwrt-installing-firmware-v0.1.txt COMMON COMPILING PROBLEMS ------------------------- CONTRIBUTIONS ------------- We welcome your feedback and contributions! If you have discovered a bug, have a request for a new feature, have produced a code patch or a new classifier model, please contact: Grenville Armitage (garmitage@swin.edu.au) Dominic Allan (dallan@swin.edu.au) CONTACT ------- The Homenet3D website is: http://www.caia.swin.edu.au/urp/homenet3d If you have any questions or want to report any bugs please contact Grenville Armitage (garmitage@swin.edu.au) Dominic Allan (dallan@swin.edu.au) Centre for Advanced Internet Architectures Swinburne University of Technology Melbourne, Australia CRICOS number 00111D http://www.caia.swin.edu.au