Skip to main content.

mini_fo: The mini fanout overlay file system


15. Okt 2005: mini_fo-0-6-2-pre1 released

21. Sep 2005: mini_fo-0-6-1 released

10. May 2005: mini_fo-0-6-1-pre1

09. May 2005: mini_fo-0-6-0 released

11. Apr 2005: mini_fo24-0-6-0-pre2 released

05. Apr 2005: mini_fo24-0-6-0-pre1 released

28. Mar 2005: mini_fo24-0-5-10 released

14. Mar 2005: mini_fo24-0-5-10-pre6 released

22. Feb 2005: mini_fo24-0-5-10-pre5 released

What is mini_fo?

mini_fo is a virtual kernel file system that can make read-only file systems writable. This is done by redirecting modifying operations to a writeable location called "storage directory", and leaving the original data in the "base directory" untouched. When reading, the file system merges the modifed and original data so that only the newest versions will appear. This occurs transparently to the user, who can access the data like on any other read-write file system.

Base and storage directories may be located on the same or on different partitions and may be of different file system types. While the storage directory obviously needs to be writable, the base may or may not be writable, what doesn't matter as it will not be modified anyway.

mini_fo was primarily developed for use in embedded systems and therefore was designed to be lightweight in terms of module size, memory usage and storage usage. Nevertheless it has proved useful for various other projects (see below).

What is it good for?

The primary purpose of the mini_fo file system is to allow easy software updates to embedded systems, that often store their root filesystem in a read-only flash filesystem, but there are many more:

If you have any other ideas, please let me know!


mini_fo is now available as a git repository or as a zipped tarball from the bottom of this page. Please note that the mini_fo cvs repository will no longer be updated.


Instructions on building and using the mini_fo filesystem can be found in the README file located in the sources. If you are interested in the internals of mini_fo you might find this paper (actually my diploma thesis!) useful. If you still have questions, and didn't find an answer in the mini_fo FAQ, feel free to send me an e-mail (see contact).

Development, testing, reporting bugs etc.

mini_fo has a devel page that is used for:


If you have any comments, questions, patches smile or bug reports you don't want to post yourself you can reach me at: mk at creamnet dot de

-- MarkusKlotzbuecher - 15 Oct 2005

Attachment sort Action Size Date Who down Comment
mini_fo24-0-5-10-pre5.tar.bz2 manage 33.5 K 09 May 2005 - 16:43 MarkusKlotzbuecher  
mini_fo24-0-5-10-pre6.tar.bz2 manage 34.5 K 01 Apr 2005 - 18:46 MarkusKlotzbuecher  
mini_fo24-0-5-10.tar.bz2 manage 34.2 K 01 Apr 2005 - 18:46 MarkusKlotzbuecher  
mini_fo24-0-6-0-pre1.tar.bz2 manage 37.7 K 05 Apr 2005 - 21:18 MarkusKlotzbuecher  
mini_fo24-0-6-0-pre2.tar.bz2 manage 37.7 K 11 Apr 2005 - 23:14 MarkusKlotzbuecher  
mini_fo-0-6-0.tar.bz2 manage 35.5 K 09 May 2005 - 18:05 MarkusKlotzbuecher  
mini_fo-0-6-1-pre1.tar.bz2 manage 35.6 K 10 May 2005 - 18:16 MarkusKlotzbuecher  
mini_fo-0-6-1.tar.bz2 manage 38.1 K 21 Sep 2005 - 12:06 MarkusKlotzbuecher  
mini_fo-0-6-2-pre1.tar.bz2 manage 38.1 K 15 Oct 2005 - 11:03 MarkusKlotzbuecher