Facebook, is getting to a level of bloat that in my opinion running a portable browser over USB 2.0 is becoming at times unusable. If one is running puppy in usbflash mode then the performance may still be acceptable because at least the changes will be in RAM but in the near future even this may be too slow when running puppy on USB 2.0 devices because the save file its self is not in ram and slow IO will be used to transfer the files too and from ram as needed.
Ideally, on a USB 2.0 system we want to minimize IO usage. To do this we will use both compression and ram. If I compression my iron32 folder the uncompressed folder is 3.577 times the compressed sfs (123MB). In this case -xz compression was used. Even for old system this sfs file could be copied to ram without using a large fraction of ones ram. However, an acceptable alternative is to only keep the changes to in ram.
If one copies the sfs file to ram then the standard puppy options "udba=reval,diropq=w" will minimize the amount of files that propagate up to the changes folder. However, if one only has the changes in ram then one may want to omit these options so more files from the lower layer get propagated into ram.
In my draft script I haven't implemented this distinction yet and the above standard options are not included in my script but these options will be included in future scripts. In the current script I copy both the sfs file and profile folder to ram prior to doing my aufs mount. I will later add options to customize this behavior.
The big thing not implemented yet is cleanup, which will include removing things from ram when one exits or when the browser crashes. There will be configuration options to let someone get prompted prior to removing the stuff from ram (and unmouting) and also a configuration option to prompt prior to undating the configuration folder.
Here is the preliminary script. As noted, there are a bunch of things that haven't been implemented yet but it works: