These files contain the meta data, that is used to keep track of modifications to the base file system. You can easily change this name by editing the "#define META_FILENAME" statement in mini_fo.h to whatever you prefer.

How can I overlay the root file system?

Mount mini_fo on top of the root file system:

# mount -t mini_fo -o base=/,sto=/tmp/sto/root / /mnt/mini_fo

Now change your root file system to the mini_fo mount point:

# chroot /mnt/mini_fo

Now you've got a shell with a mini_fo overlayed root file system.

But how can I really overlay the root file system (for the whole system)?

Ok, above wasn't the whole truth, as previously started processes and daemons stay with the old root file system. To do this properly, I guess you would have to overlay the root file system before init is started, and then start init after changing root. Has anybody tried this?

After overlaying the root file system /proc, /sys, /dev or any file system mounted on the old root disappears!

This is normal behaviour. mini_fo only overlays the file system that was specified as base. It can't "detect" other file systems that are mounted somewhere on the base, so these mountpoints will be empty.

The solution is to simply mount file systems you want to overlay to their appropriate mount points in the overlaid root file system before chroot'ing. For above example (assuming the file system mounted on /home is a seperate partition):

This is usually caused by insufficient privileges in the storage filesystem. Check that the user accessing the overlaid file system has privileges to modify the storage directory.
-- MarkusKlotzbuecher - 07 Jun 2005