Filesystems

With Microblaze CPU you can use many filesystems. Main are ROMFS, CRAMFS, JFFS2, EXT2/3 and INITRAMFS.

ROMFS

romfs is a space-efficient, small, read-only filesystem originally for Linux and used by some Linux based projects. It is a block-based filesystem, that means it makes use of block (or sector) accessible storage driver (like disks, CDs, ROM drives). It is part of stock Linux kernels since about version 2.1.21 (about January, 1997). All current (2.4–2.6) kernel sources contain support for romfs, but depending on the distributor, it might not have been compiled in.

A working Linux system requires the kernel, and at least some programs running, which obviously needs a filesystem too. Most Linux disk filesystems are designed to be high performance, supporting all POSIX features, sometimes elaborate recovery on crashes (journaling), and that usually makes them quite heavy-weight, and thus often inappropriate in some special purposes.

romfs makes two shortcuts: first, it's read-only, you can't simply “use” your disk if it's a romfs disk, you must build its image beforehand. Second, it stores only the absolute minimum required from a filing system. No modification dates, no unix permissions. These all might sound as large drawbacks, but they are usually not.