Compressed ROM filesystem

0. Contents

This is the documentation of cromfs-1.0.1.
   1. Purpose
   2. Overview
   3. Limitations
   4. Comparing to other filesystems
   5. Getting started
   6. Copying
   7. Requirements
   8. Downloading

1. Purpose

Cromfs is a compressed read-only filesystem for Linux. Cromfs is intended for permanently archiving gigabytes of big files that have lots of redundancy.

In terms of compression it is much similar to 7-zip files, except that practical realtime access can be provided for the whole archive contents; the user does not need to launch a program to decompress a single file, nor does he need to wait while the system decompresses 500 files from a 1000-file archive to get him the 1 file he wanted to open.

The creation of cromfs was inspired from Squashfs and Cramfs.

2. Overview

3. Limitations

Development status: Pre-beta. The Cromfs project has been created very recently and it hasn't been yet tested extensively. There is no warranty against data loss or anything else, so use at your own risk.

4. Comparing to other filesystems

This is all very biased, hypothetical, and by no means a scientific study, but here goes:
Feature Cromfs Cramfs Squashfs (3.0)
Compression unit adjustable (1 MB default) 4 kB adjustable (64 kB max)
Files are compressed together (up to block limit) individually individually
Maximum file size 16 EB 16 MB 16 EB
Duplicate whole file detection Yes No (but hardlinks are detected) Yes
Near-identical file detection Yes (identical blocks) No No
Compression method LZMA gzip gzip
Ownerships not saved saved (but gid truncated to 8 bits) saved
Endianess-safety works on little-endian only safe, but not exchangeable safe
Kernelspace/userspace user (fuse) kernel kernel

5. Getting started

  1. Install the development requirements: make, gnu-c++, fuse and openssl-dev
  2. Compile: Command "make" to build "cromfs-driver" and "util/mkcromfs"
  3. Create a sample filesystem:
    $ util/mkcromfs . sample.cromfs
  4. Mount the sample filesystem:
    $ mkdir sample
    $ ./cromfs-driver sample.cromfs sample &
  5. Observe the sample filesystem:
    $ cd sample
    $ ls -al
  6. Unmounting the filesystem:
    $ cd ..
    $ fusermount -u sample
    or, type "fg" and press ctrl-c to terminate the driver.

6. Copying

cromfs has been written by Joel Yliluoma, a.k.a. Bisqwit,
and is distributed under the terms of the General Public License (GPL).

7. Requirements

8. Downloading

The official home page of cromfs is at http://iki.fi/bisqwit/source/cromfs.html.
Check there for new versions.

Generated from progdesc.php (last updated: Thu, 11 May 2006 01:18:20 +0300)
with docmaker.php (last updated: Sun, 12 Jun 2005 06:08:02 +0300)
at Thu, 11 May 2006 01:34:03 +0300