I'm currently experimenting with Kamikaze trunk on a wl500gp with a 40GB USB hard disc, and look forward to reading other people's contributions.
I initially tried getting ipkg to install packages to my drive, but found the packages I tried assumed they'd been installed under / and didn't like being under /mnt or /opt or whatever. Adding vast numbers of links seems an inelegant solution. (Yes, I did add the extra directories to my PATH and LD_LIBRARY_PATH.)
I'm now playing with using the pivotroot script from the second of your links, and it seems to be working nicely. I've created a 128MB swap partition, a 2GB root partition and a 38GB (or so) /data partition. I've added the swap and /data partitions to /etc/config/fstab and they get mounted at boot. I've also added a "local" script to /etc/init.d to move a few things from /var to /data/var and redirect syslogd to a file, to keep the ramfs as empty as possible.
If the usb disc isn't there at boot time, the new version of /etc/config/fstab and my local script aren't seen and the unit just boots from flash as normal. I just have to make sure that I keep the flash version of some config files up to date with the disc version.
I'm a complete beginner at OpenWrt (having used Oleg's in the past) so don't put too much faith in my approach.
(Last edited by easter on 2 Jul 2008, 13:33)