Ok, so I decided to try to get OpenWRT (Kamikaze) onto one of my Netgear WGT634u's. I have another one that I loaded a customized version of OpenWGT from Brian Capouch onto that went well. His root file system is stored on a thumb drive. I could stick with this, but OpenWGT isn't in active development and will be tough to add new features to so this led me to playing with OpenWRT.
[img_assist|nid=2|title=Inside the Netgear WGT634u|desc=|link=none|align=center|width=300|height=225]
I started by grabbing the latest base and package code from the subversion server:
svn co https://svn.openwrt.org/openwrt/trunk openwrt-dev
svn co https://svn.openwrt.org/openwrt/packages openwrt-packages
Going into the openwrt-dev directory and type make menuconfig I chose the Broadcom BCM47XX/53XX [2.6] target system and then "Select all packages by default". This builds a very workable system and turns most things into ipkg's to be installed later if needed. Also, if you want to compile one of the packages available in the openwrt-packages directory, simply symlink the directory to the openwrt-dev/package directory. Then when you go into make menuconfig you'll see those packages listed under the proper category (library, net, etc). You can then install them into the flash image or have it built as an ipkg to be installed later. For target images it seems, from everything I've read, you really should only choose squashfs. This makes the flash system read only and mounts a jffs2 partition in the remaining flash memory. This makes it possible to always revert back to the original config files since they are in a read-only file system. But it also means to change a file you need to remember to remove the symlink to the file on the /rom partition and then copy it over and edit it. To compile everything together type make world. If you have problems and need to figure out why something isn't working type make V=99 world. My normal problems were because I was missing a package that was required by another package I had added. The last directory listed is typically the package that is missing. Once compiled all the files will be in the openwrt-dev/bin directory. The bin files can be loaded onto the router using the web interface or via tftp using a console cable. I chose to do things over the console cable mostly so that I could see what was going on. I copied the file openwrt-wgt634u-2.6-squashfs.bin to the root directory of my tftp server. I used linux for this but other can use windows or any other tftp server. Much of the information about the router and how to flash it is on the OpenWRT hardware documentation site at http://wiki.openwrt.org/OpenWrtDocs/Hardware/Netgear/WGT634U. I've also included it here to document it for my own purposes. For a serial console cable I decided to buy a $20 cable online that has a USB port on one side and a header pin on the other. The trick with the WGT634u serial header is that it is 3.3V TTL and a normal PC serial port puts out 5V. You need some way to ensure the voltage is 3.3V at the router. I chose a TTL-232R-3V3 cable. The header pins can be easily removed from the bottom of the cable and slide right over the pins on the WGT634u's header. If the router face with the LED's is facing you then the cable hooks up as follows from bottom to top. The bottom pin is ground, followed by receive, transmit, and then power. For the USB cable you DO NOT plug anything into the power header pin. Black goes to ground, orange to receive, and yellow to transmit.