Rar. I've finally got the Netgear happier. I grabbed an OpenWRT 2.4.30 kernel and hacked that into my OpenEmbedded image. That stopped the init panic messages. I've also done some work on faking up a /etc based on the values from nvram - this should hopefully mean I have persistent data over reboots as well as meaning you can upgrade from a stock Netgear DG834G image and keep your settings. I think I'm going to have to write a very basic bit of C to crypt the password though, as there doesn't seem to be any existing tiny utility in OE that'll do so.
Anyway. This post is done from my desktop sshed to the Netgear which is connected to the ADSL and doing IPv6, and I'm then sshed from there to the via IPv6 (I could have setup the routing so I just sshed directly from my desktop through the Netgear, but this was quicker). Yay! That proves the ethernet, ADSL and IPv6 works. Haven't tried the wireless yet.
I think I'm at the stage where I need to pull the OpenWRT kernel into the OE framework so I can build it all easily, and then I'll commit it and be able to provide an image in case anyone else is actually interested in this warbling. :)