CRAMFS

Aus TuxBoxWIKI
Wechseln zu: Navigation, Suche

Allgemein

Das CramFS (compressed ROM filesystem) ist ein freies und unter der GPL stehendes Read-only-Dateisystem mit integrierter Datenkompression unter Linux. Es wird hauptsächlich bei eingebetteten Systemen eingesetzt, weshalb ein Hauptaugenmerk auf die Einfachheit und die Effizienz des benötigten Speicherplatzes gelegt wurde.

Im Gegensatz zu einem komprimierten konventionellen Dateisystems, muss ein CramFS nicht erst entpackt, sondern es kann direkt darauf zugegriffen werden. Aus diesem Grund verwenden manche Linux-Distributionen das CRAMFS als Dateisystem für initiale Ramdisks (Debian) oder als Installations-Abbilder (SuSE bis openSUSE 10.2), da diese einigen Einschränkungen bezüglich ihrer Größe unterliegen. Auch in eingebetteten Systemen wie beispielsweise WLAN-Routern wird CramFS eingesetzt.

Technik

Dateien im CramFS sind mit der zlib komprimiert. Die Metainformationen dieser Dateien sind unkomprimiert, werden jedoch in einer knapperen Struktur repräsentiert als konventionelle Dateisysteme. Da ein schreibender Zugriff auf ein Dateisystem nicht einfach zu realisieren ist, kann auf CramFS nur lesend zugegriffen werden.

Bearbeitung

Um ein CRAMFS-Dateisystem zu erstellen und Dateien darin aufzunehmen, werden standardmäßig Werkzeuge wie mkcramfs mitgeliefert. Für eine Bearbeitung unter Linux muss der Inhalt in ein Verzeichnis kopiert werden. Danach kann aus dem Verzeichnis ein neues Image erstellt werden. Unter Windows gibt es Tools zur direkten Bearbeitung. Eines davon ist newtuxflashtools.zip.

Technische Charakteristika

CramFS hat einige Einschränkungen wie beispielsweise:

  • Dateigrößen sind auf 16MB beschränkt
  • Die maximale Größe eines Dateisystems liegt bei etwas über 256MB, die letzte Datei auf dem Dateisystem muß vor dem Ende des 256MB Blocks beginnen, kann aber darüber hinaus reichen.

Alternativen

SquashFS kann CramFS ersetzen und bietet gegenüber CramFS einige Vorteile.

Weblinks