Hacking the Netgear wgt634u
Abstract: This paper gives you some hints about how to compile click ( http://pdos.csail.mit.edu/click/ ) and madwifi driver (http://pdos.csail.mit.edu/~jbicket/madwifi.stripped/) using openwrt ( http://openwrt.org ) for the netgear wgt634u router. General information about the router you can find at http://pdos.csail.mit.edu/roofnet/doku.php?id=wgt634u.
Credits: http://pdos.csail.mit.edu/roofnet/
OpenWRT setup
First of all you need to install the openwrt toolchain on your build computer. Please follow the instructions given at http://openwrt.org/OpenWrtDocs/Installing.
Compiling click
To build click you have to copy the following Makefile (click.mk) to the $OPENWRT/buildroot/make directory:
#############################################################
#
# click
#
#############################################################
CLICK_DIR:=$(BUILD_DIR)/click
click-source: $(CLICK_DIR)/.unpacked
$(CLICK_DIR)/.unpacked: $(DL_DIR)/$(CLICK_SOURCE)
(cd $(BUILD_DIR); \
svn co svn://merkur.sardmn.informatik.hu-berlin.de/click)
touch $(CLICK_DIR)/.unpacked
$(CLICK_DIR)/.configured: $(CLICK_DIR)/.unpacked
(cd $(CLICK_DIR); rm -rf config.cache; \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)" \
AR_CREATEFLAGS="cru" \
CLFLAGS=-static \
CXXFLAGS=-static \
./configure \
--build=i686-pc-linux-gnu \
--host=mipsel-linux \
--disable-linuxmodule \
--enable-brn \
--disable-ip \
--enable-wifi \
--disable-ip \
--enable-tools=mixed \
);
touch $(CLICK_DIR)/.configured
$(CLICK_DIR)/click: $(CLICK_DIR)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(CLICK_DIR)
$(TARGET_DIR)/usr/bin/click: $(CLICK_DIR)/click
install -c $(CLICK_DIR)/userlevel/click $(TARGET_DIR)/usr/bin/click
$(STRIP) $(TARGET_DIR)/usr/bin/click > /dev/null 2>&1
click: uclibc $(TARGET_DIR)/usr/bin/click
click-clean:
$(MAKE) -C $(CLICK_DIR) clean
rm -rf $(TARGET_DIR)/usr/bin/click
click-dirclean:
rm -rf $(CLICK_DIR)
That's all: run make click to build click. Currently, I only tested the userlevel click binary.