== Linux == SquashFS is read-only, and for a read-write root, it needs aufs or unionfs to layer a writable file system on top of it. This can be a tmpfs, but in that case, changes are not preserved by default.

I've been thinking of some methods to preserve changes, but haven't decided on anything specific. * Mounting a block device based file system as an overlay with something like nilfs or ext3cow (or btrfs when its stable) * diff patches * rsync differences * Use OpenVZ to isolate system (tread very carefully, only minimal configuration changes available) and services (which can be upgraded, installed, configured, etc.)

There are several factors, too: * Flash based read-write storage doesn't like too many writes * What effect would a base squashfs image update have on any persistent changes?

Actually, with aufs, it might be possible to use the same squashfs base for root and an openvz container. That would be pretty amazing! I wonder - would it be possible to also squashfs the openvz container overlays? For this to work, the two squashfs mounts would have to be united, and then a writable filesystem would have to be united with the resulting double-squashfs. Seems reasonable, right?

== FreeBSD == [wiki:"FreeBSD Jails"]

== OpenSolaris == OpenSolaris uses "zones", but I haven't figured out how to do that yet.

== External Links == * http://aufs.sourceforge.net/linux-vserver.txt