I have installed a few routers for friends / family that I wish to upgrade remotely and I'm just looking for a little feedback on my plan or other ideas. I'm aware it's not recommended to remote upgrade, just to get that out of the way. The Goal To upgrade a router to a Toastman or Shibby build from a standard build of TomatoUsb ( 1.28 ), remove as many old settings as possible, but not lose the ability to connect remotely via ssh. The Plan 1. Run a shell script to unset as many keys as possible ( maybe based on a nvram export ), then restore defaults with "nvram defaults --yes" , allow remote access via nvram set, commit, reboot. 2. After reboot, shutdown unnecessary processes, scp transfer the new firmware into memory and md5 verify it is intact. Flash new firmware via mtd commands, reboot. 3. Repeat steps in step 1 : Set defaults of new firmware with nvram defaults, allow remote access via nvram set, commit, reboot. Thats just my general idea, any thoughts that would stop this plan from working ? Would be nice if there were a fairly easy way to tweak default values in tomato, but I've read that you have to use a firmware kit or basically compile it yourself to pull that off.