http://dd-wrt.com/wiki/index.php/Linksys_WRT54G_v8.0_%26_v8.2
My sister's WRTG54 v8 with stock firmware started hanging when distributing IPs so I decided to put dd-wrt on it. I had done the same with my WRTG54 v1.1 with no problems so I assumed it would be a snap. I was going to use it for a client bridge (see Andy Frank's post).
Ubuntu needed for tftp
Using tftp to upload dd-wrt.v24_micro_generic.bin didn't work from my Windows XP box, so I gave it a shot from an Ubuntu 12.x box and that worked.
Brick
Then I got myself into a jam since the primary subnet was non-standard. I tried to change the secondary router (the one I just flashed), but couldn't connect to the web interface at all. I did the 30-30-30 reset a few times and thought I bricked it. The Power and WLAN lights no longer glowed, but the light corresponding to the port connected to my computer glowed. I did the 30-30-30 reset a few times with no luck.
Wait, then unbrick
Then I let the whole thing sit overnight. Next evening I was able to connect to to the dd-wrt web interface, and then found that it was serving IPs just fine.
Whew...
Create client bridge
I gave the now-working WRTG54 v8 back to my sister. I still didn't have what I was looking for: a client bridge for my ancient Pentium IV running CentOS. I want the box close to me instead of close to the router behind the TV where it gets hot and is hard to reach.
I ran into issues with a primary (Belkin) broadcasting in N and a secondary (Linksys) only capable of B and G. Also, the primary has different WPA2 options than the secondary. And the secondary wouldn't let me select a channel in client bridge mode. This whole thing is probably easier with two identical routers both running dd-wrt.
Success with compromises
Setting the primary to B and G mode, changing channel selection from Auto to a fixed value and moving from WPA-PSK+WPA2-PSK/TKIP+AES to WPA2-PSK/AES did the trick. Plugged in Ubuntu laptop connected to the internet when I disconnected from the wired connection I'd set up per the dd-wrt instructions and connected using the Auto Ethernet option.
Back out compromises
Then I began backing out the changes I'd made to the primary. Moving back to B, G and N worked fine. Setting channel selection back to Auto didn't affect the secondary's ability to connect to the internet either. Reverted primary to WPA-PSK+WPA2-PSK/TKIP+AES and still was able to connect to the internet through the secondary. Seems like this is kind of what Andy Frank did, but he may have found it possible to go back to WPA2 on the secondary.