Got the new multi-rom scripts up and running, and did a first successful install using them. The system is not booting, though, and I don't know whether that is due to my kernel changes or due to using Linaro to compile the kernel. I'll go back to the other toolchain tomorrow to see if that fixes it.
Details:
multi-rom is a way to package up all the files for a phone family into a single ROM. In this case LS670, VM670, and VS660. The install script detects the phone model at install time and patches up the files that are different.
For the thunderc family, we have always had a different kernel for each model. I modified the kernel slightly to detect the model at boot time and react accordingly. Right now this just makes the keymap correct. Future changes may tweak the ami304 driver for the VS660, use a different screen driver for the MS690, etc.
The remaining files are system props, the MMS settings, and some of the proprietary files on the VS660. All together, the binary patches to support these are less than 1mb.
So this will reduce both build and upload time by about 2/3 at the expense of adding less than 1mb to the ROM. Not bad.