NanoFS is a lightweight file system intended to be used with microcontrollers or directly from a HDL design. You can get detailed information at doc directory.
Get a copy of sources from git or a tarball distribution. With a copy from git,
run autogen.sh
to prepare your build system for compilation with autotools.
Getting a tarball copy, autotools are not required.
Install dependencies. Here's an example for Debian/Ubuntu:
sudo apt-get install build-essential autoconf libtool pkg-config libfuse-dev
After installing dependencies, compile and install in the usual way:
./configure
make
make install
To uninstall all components:
make uninstall
For a reference of all available commands, see the 'nanofuse' man page, or follow this Example of use:
Making a new file system into a file or device:
mkfs.nanofs -v /dev/sdXX
Mounting the new file system on some place:
mkdir nanofsimage
nanofuse /dev/sdxx nanofsimage
Now do something with the mounted file system, like tests to check it works:
cd nanofsimage
cp -r /home/user/test .
diff -rq /home/user/test test
To unmount the file system, the command is:
fusermount -u nanofsimage
For debug purpose an extra tool nanofs.dump
is available to check the
internal layout of the filesystem. The internal layout is described in
documentation at [doc]/doc
NanoFuse is a fuse implementation of NanoFS. Current version is only for test purpose and has some limitations:
- File metadata not implemented: UID,GID, date stamp ...
- Defragmentation on fly not implemented
- fsck tool is not finished
- nanofuse runs in single thread mode
GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007. See the COPYING for the complete text.
Paulino Ruiz de Clavijo Vázquez pruiz@us.es
Enrique Ostúa Aragüena ostua@dte.us.es