Cloop
Contents
Introduction
Cloop is a Kernel module to add support for filesystem-independent, transparently decompressed, read-only, block devices.
Where to download
- http://debian-knoppix.alioth.debian.org/sources/ (Alternative link)
Use version 1.xx if you have a 2.4 kernel, or version 2.xx for 2.6 kernel. Versions 0.xx are too old, probably won't work well.
Installation
make KERNEL_DIR=/path/to/linux-kernel/sources
Issue these commands as root
mkdir -p /lib/modules/misc && cp cloop.ko /lib/modules/misc/ depmod -a mknod /dev/cloop b 240 0
Usage
Creating a compressed image:
create_compressed_fs image blocksize > image.cloop_compressed
Where blocksize must be a multiple of 512 bytes. Make sure you have enough swap to hold the entire compressed image in virtual memory!
The command may also be used in Linux command line pipe sequences. Use "-" as the image filename. The dash, "-" will cause the command to read data from stdin, as in
mkisofs -r datadir | create_compressed_fs - 65536 > datadir.iso.compressed
Mounting a compressed image (see above for device creation):
# Unless zlib_deflate/inflate features are built-in to your kernel, you may # also need to install related kernel modules. modprobe zlib_inflate modprobe zlib_deflate
insmod cloop.ko file=/path/to/compressed/image
mount -o ro -t whatever /dev/cloop /mnt/compressed
1
If you boot from the LiveDVD and want to mount a compressed image, which you have saved on the disc:
Check with the 'mount' command which /dev/cloopX (where X goes from 0 to 7, because cloop can do just 8 devices) are already in use. Then mount your compressed image to a cloop device via
losetup /dev/cloopX /path/to/compressed/image
mount -o ro /dev/cloopX /mnt/compressed