"There are a couple of different approaches to making a Linux
system read-only. Unfortunately, it is usually not as simple as
using a conventional filesystem mounted with the read-only option.
Many programs assume that at least some parts of the system are
writable. In some cases, these programs will fail to run correctly
if this turns out not to be the case.
"I'll outline here what I think is the best approach for most
applications. It is similar to that taken by the current generation
of live CD distributions.
"Live CDs typically have read-only access to a root filesystem,
which is often compressed into a single file to be mounted later
using a loopback device. Knoppix broke new ground with its use of
the cloop filesystem for this purpose. More recent live
distributions take this a step further by using a union filesystem
to make the root filesystem writable. This approach is quite useful
for our purposes, as well."