##-----------------------------------------------------------------------------
## doc/deutsch/opt/e2compr.txt
##
## Creation:     24.03.2004
## Last Update:  09.05.2004
##
## Copyright (c) 2004 Ruediger Otte <ruediger dot otte at gmx dot net>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; either version 2 of the License, or
## (at your option) any later version.
##-----------------------------------------------------------------------------

Package E2COMPR - Komprimierte Ramdisks fr FLI4L
-------------------------------------------------

Inhalt:

1. Kurzbeschreibung
2. Funktionsumfang
3. Kernel und Rootfs
4. Konfiguration
5. Komprimierungsalgorithmen


1. Kurzbeschreibung
-------------------

OPT_E2COMPR erstellt komprimierte Ramdisks und komprimiert die "/opt"-Ramdisk
auf dem FLI4L. Als Dateisystem wird ext2fs + e2compr verwendet.


2. Funktionsumfang
------------------
Mit einem angepassten Rootfs kann die "/opt"-Ramdisk bei der Erstellung
komprimiert werden. Bei mir konnte ich den Speicherbedarf von "/opt" erheblich
reduzieren. Das ist vor allem bei vielen installierten Erweiterungen sinnvoll.

Eine weitere Option ist das Anlegen von komprimierten Ramdisks, die dann
von anderen Opts genutzt werden (z.B. ein komprimiertes Spoolverzeichnis
fr samba_lpd).

Das Komprimieren von Verzeichnissen wird in OPT_E2COMPR fr FLI4L 2.1.x
nicht untersttzt, da fr andere Ramdisks das tmpfs benutzt wird.

3. Kernel und Rootfs
--------------------
Es ist ein angepasster Kernel fr die Komprimierung ntig. Fr die
Komprimierung der "/opt"-Ramdisk ist zustzlich noch ein angepasstes Rootfs
ntig. Der angepasste Kernel und das Rootfs sind im Package enthalten. Sie
liegen unter "<fli4l-base>/img/".

Der Kernel heit "kernel-e2compr" und mu nur nach "kernel" umbenannt
werden. Der angepasste Kernel ist fr die Komprimierung unentbehrlich.

Das Root-Dateisystem heit "rootfs-e2compr.tgz" und mu nur nach "rootfs.tgz"
umbenannt werden. Das Rootfs ist nur fr die "/opt"-Komprimierung erforderlich.

Kernel und Rootfs sollten auch ohne das Package problemlos laufen, dann
allerdings ohne Komprimierung.


4. Konfiguration
----------------

OPT_E2COMPR: yes|no

Installiert die Userspace-Tools fr Ext2-Komprimierung und ermglicht
die Auswahl verschiedener Komprimierungsoptionen.

--

E2COMPR_OPT: yes|no

Wenn das angepasste Rootfs benutzt wird, bewirkt diese Option eine
Komprimierung der "/opt"-Ramdisk. Wenn das normale Rootfs benutzt wird,
oder wenn "/opt" auf einer Festplatte liegt, ist diese Option wirkungslos.

--

E2COMPR_OPT_SIZE

Die Gre der "/opt"-Ramdisk in Kb. Seit FLI4L 2.1.7 wird fr "/opt" das
tmpfs benutzt, da je nach belegtem Platz seine Gre dynamisch ndern kann.
Die Gre der "/opt"-Ramdisk wird daher nicht mehr in der Base-Konfiguration
eingestellt sondern mu hier festgelegt werden.

--

E2COMPR_OPT_ALGO: gzip1|gzip2|...|gzip9

Gibt den Algorithmus fr die Komprimierung der "/opt"-Ramdisk an. Hier sind
nur gzip1-gzip9 mglich.

--

E2COMPR_RD_N

Anzahl der komprimierten Ramdisks, die erstellt werden sollen.

--

E2COMPR_RD_x_SIZE
E2COMPR_RD_x_PATH

Gre (in Kilobyte) und Mountpoint der x'ten komprimierten Ramdisk.

--

2COMPR_RD_x_ALGO: gzip1|gzip2|...|gzip9|bzip2|lzo1x1|lzv1

Der Algorithmus fr die Komprimierung der x'ten komprimierten Ramdisk.
Im angepassten Kernel ist die Untersttzung fr gzip fest eingebaut. Daher
sollte als Einstellung gzip1 bis gzip9 verwendet werden. Es sind noch andere
Algorithmen mglich, die nur bei Bedarf installiert werden.
Ist hier ein nicht vorhandener Algorithmus angegeben, wird als Standard gzip5
benutzt.

--

OPT_E2COMPR_HTTPD_STATUS: yes|no

Erzeugt eine Zusammenfassung der Komprimierung, die ueber den mini-httpd
abgerufen werden kann. Der Benutzer mu auf dem mini-httpd ueber das Recht
status:view verfuegen. Weitere Dokumentation bitte dem httpd-Package
entnehmen.

--

OPT_E2COMPR_EXTRA_E2FSCK:   yes|no
OPT_E2COMPR_EXTRA_DUMPE2FS: yes|no
OPT_E2COMPR_EXTRA_TUNE2FS:  yes|no

Diese Tools aus e2fsprogs-1.25 werden normalerweise nicht gebraucht. Wer sie
trotzdem installieren moechte, kann das hier auswaehlen.

5. KOMPRIMIERUNGS-ALGORITHMEN
-----------------------------
Zu den Algorithmen schreiben die Entwickler der Ext2-Komprimierung:

LZO:

  Enable this if you want the Lempel-Ziv-Oberhumer (LZO) algorithm
  to be available for compression or decompression.  (It is actually
  the lzo1x_1 algorithm.)  If it is not enabled, you will not be able
  to read any file already stored in this format.
  This algorithm is the fastest at decompressing, but is slower than
  LZV1 at compressing.  LZO compresses smaller than LZV1.

LZV:
 
  Enable this if you want the Lempel-Ziv-Vogt (LZV) algorithm to be
  available for compression or decompression.  If it is not enabled,
  you will not be able to read any file already stored in this format.
  This algorithm tends to be the fastest of the available algorithms
  (except that LZO is faster at decompressing), but tends not to
  compress as well as the others.

GZIP:

  Enable this if you want the GZIP algorithm to be available for
  compression or decompression.  If it is not enabled, you will not be
  able to read any file already stored in this format.  This is a
  "good value" compression algorithm, because the 1..9 parameter allows
  a wide range of compression speeds and compression amounts.

BZIP2:

  Enable this if you want the BZIP2 algorithm to be available for
  compression or decompression.  If it is not enabled, you will not be
  able to read any file already stored in this format.
  This algorithm is related to, but is not the same as, the algorithm
  used by the `bzip2' program.  Compared to gzip9, it tends to compress
  10-15% smaller for text files, but to about the same as gzip9 for
  binaries.  It is 5 times slower at compressing than gzip9, and 50%
  slower at decompressing.  Enabling this will enlarge your kernel by
  about 33kB.

LZV und GZIP sind in Assembler implementiert:

  For x86 kernels there are some assembler language versions of the
  compression routines for the lzv1, lzrw3a, and gzip algorithms.
  These apparently run "much faster" than the C ones.  There isn't any
  reason to say N here unless you've found a problem with them (which
  you should of course report).

