As long as you have USB storage (That will always be connected) you can use extroot to essentially copy and run the OS from that storage; it works really well and was quite painless to set up (Assuming you’re ok with editing files from the command line and other Linux admin tasks). Once it’s set up it will intelligently mount the storage on boot and use it instead of the internal flash. I have the 3-port USB/micro SD tile and have a 32GB microSD card inserted, it’s great and no more worries about storage.
See here, starting in the section "Prerequisites: http://wiki.openwrt.org/doc/howto/extroot
-Larry