Building TAYGA for TomatoUSB
Steven Walter contributed the below instructions on how to build TAYGA for the TomatoUSB firmware for WRT54-like home routers.
I started with a Tomato USB firmware with IPv6 and JFFS enabled. To start with I downloaded the git repository for Tomato, since it contains the necessary MIPS cross-compiler tool chain. Read tools/README in the tomato source tree and follow the instructions for putting the compiler toolchain in $PATH. You can go ahead and build Tomato as indicated; the only part that's really necessary is to build the tun.o kernel module. It is built by default, but not included in the flash image. Alternately, you can use a firmware image that supports OpenVPN. To build TAYGA, configure it like so: CC=mipsel-linux-uclibc-gcc ./configure --host=mipsel-linux-uclibc \ --build=i686-linux-gnu-pc You can build it with the usual "make", and then copy the binary to /jffs on your router. You might want to strip it with mipsel-linux-uclibc-strip first. Then copy tun.o also onto /jffs, if necessary. Create /jffs/tayga.conf as you would for any other Linux system. From the router's shell: # cd /jffs # insmod ./tun.o # ./tayga -c tayga.conf --mktun # (configure your tun device, use "ip" just like on any other Linux system) # ./tayga -c tayga.conf At this point tayga is running and functional. You might find, as I did, that the default firewall rules prevent it from being very useful. I added this rules to my iptables: # iptables -A FORWARD -i nat64 -j ACCEPT # iptables -A FORWARD -o nat64 -j ACCEPT ip6tables will need to allow forwarding as well, but that was not already denied on my system.