Dynebolic Choices

Dynebolic version: 1.1.1
  • Compressed read-only filesystem
  • Window manager
  • Sound system
  • Printing system

  • Choice of compressed read-only filesystem

    In a running LiveCD system, most of the runtime filetree is a read-only filesystem that is uncompressed on the fly from the CDROM. As well as raising the limit on the filesystem size from 640MB to about 2GB, it contributes greatly to the speed of the system, because the speed at which we can read a CDROM is slow, and the processing time spent on decompressing all data read from the disk is more than repaid by the reduction in the amount of data read.

    This is borne out by a comparative study of Linux live CDs: the slowest of them all is the only one that does not use a compressed filesystem. See http://freaknet.org/martin/dynebolic/livecd.html

    There are several read-only compressed fileystems available for Linux:

    squashfs

    Is freely available from http://squashfs.sourceforge.net as a set of patches to the 2.4.19 to 2.4.22 kernels. In dyne:bolic it uncompresses /usr on the fly from an image in a file /squashedfs on the dyne:bolic CDROM.

    cramfs

    Is included in the standard Linux 2.4.20 kernel at http://kernel.org. It is intended for read-only filesystems in ROM, does not support hard links and timestamps and is limited to 256MB filesystems. This last limit makes it unsuitable for dyne:bolic.

    zisofs

    Is included in the standard linux 2.4.20 kernel at http://kernel.org. Instead of having the entire compressed filesystem in a single file on the CD, it compresses each individual file within a regular filetree on the CDROM. The compression it attains is inferior to that of squashfs (525MB for /usr instead of 458MB).

    cloop device

    The cloop device is a generic way to compress any other filesystem. It is like the loopback device used to mount regular files as if they were block devices, but implements gzip-style data decompression on the way. In other LiveCD distributions, cloop is used in conjunction with ISO, ext2 and romfs filesystems.

    Klaus Knopper (of Knoppix fame) says:

    zisofs is a compressed filesystem, cloop is a compressed block device. Compressed filesystems are slower, because each file has to be uncompressed again in each read, while cloop keeps the uncompressed blocks in the normal block layer filesystem cache. cloop is older, well-tested and filesystem independent.
    but this doesn't sound right. Cloop (and loop) present the contents of a regular file as a new block device, so I would think that caching would happen twice:
    1. When the compressed data are read from the medium by the device-specific driver
    2. When the uncompressed data are read from the cloop device
    so this would mean that each piece of data may be cached both in compressed and uncompressed form, and re-reading the same data may do one of three things In a memory-limited system, you would be better off having a single cache, since I can't see cloop being able to put the use of blocks in the two caches (or, rather, the two uses of the single buffer pool) in comunication, for example, to free compressed blocks for which an uncompressed version is cached. In fact, in a memory-limited system, it's better to cache compressed blocks than uncompressed ones, and for dynebolic, good use of RAM is crucial to speed.

    Choice of window manager

    Windowmaker

    Is dynebolic's usual window manager. It is about the last living descentdent of the visionary NextStep.

    Fluxbox

    Is also there, and you can flip between them. It looks the same to me. Performance benchmarks, anyone? Measurement of memory requirementes?

    KDE

    Is enormous, and has too strong a look and feel of its own to implement dyne:bolic's simplicity.

    GNOME

    Sucks and crashes. It's also more resource-hungry than Fluxbox or WindowMaker.

    Choice of sound system

    OSS

    Dyne:bolic uses OSS sound driver modules, the first full set of sound drivers implemented in the linux kernel.

    ALSA

    Dyne:bolic uses ALSA drivers if it can't find a suitable OSS driver for the current device. Or the other way round, I forget which. The next Linux kernel drops OSS and uses pure ALSA. Enough said.

    Enlightenment Sound Daemon (Gnome)

    mhearn ( http://www.linuxquestions.org/questions/archive/9/2003/05/1/57017) says:
    Eurgh, esound is junk. It's been obsolete for years, unfortunately it does the job just well enough that nobody has built something better (that's portable, jack is a lot better if you only care about linux).

    Jack

    Is on the list...

    Choice of printing system

    CUPS

    Dyne:bolic uses CUPS.
    Martin, Dec 2003 - Jan 2004.