CRAMFS
# CRAMFS

In informatica CRAMFS o cramfs (la versione corretta è comunque quella scritta tutta in maiuscolo), talvolta indicato per esteso come compressed ROM file system (ma anche cram a ROM into a file system) è un file system libero con licenza GNU GPL scritto da Linus Torvalds per essere semplice, di sola lettura e compresso. È stato progettato per essere usato nei sistemi embedded basati su Linux.

A differenza dei file system convenzionali basati su un'immagine compressa, l'immagine del CRAMFS può essere usata senza il bisogno di decomprimerla prima: per questa ragione alcune distribuzioni Linux utilizzano CRAMFS per le immagini initrd (come Debian 3.1) o per le immagini di installazione (come SUSE Linux), situazioni in cui la dimensione dell'immagine è un fattore importante.

## Caratteristiche

I file di un'immagine CRAMFS sono compressi con zlib una pagina alla volta per permetterne l'accesso casuale: le pagine sono di 4096 byte l'una. I metadati non sono compressi ma espressi in una forma concisa ideata per occupare meno spazio di quelli dei file system convenzionali.

Il file system è intenzionalmente a sola lettura per semplificare il suo progetto: l'accesso casuale in scrittura di file compressi è, infatti, difficile da implementare. CRAMFS contiene uno strumento (mkcramfs) per comprimere dei file in una nuova immagine CRAMFS.

La dimensione massima di ogni singolo file è limitata a 16 MB mentre la dimensione complessiva dell'immagine CRAMFS non può superare i 272 MB.

CRAMFS supporta gli UID a 16 bit ed i GID ad 8 bit: ciò significa che possono essere identificati solo 65536 utenti e 255 gruppi.

