cloopはcompressed loop back file systemのことで、Knoppixに付属のツールである。 圧縮したディスクイメージをマウントできるので、Windowsの"携速"というツールと同様のことが Linuxで実現できる。
以下はVine Linux 3.2で確認した方法。 cloopデバイスは複数作成できる。デフォルトでは8つまでだが、 ソースを書きかえることによって増やすことが可能。
http://developer.linuxtag.net/knoppix/からcloop_2.01-6.tar.gzをとってきて適当な場所に展開する。
1)Makefileの9行目の
include $(KERNEL_DIR)/conf.vars
をコメントアウト
2)Makefileの12行目に -O2を加えて
CKERNOPS:= -O2 -D__KERNEL__ -DMODULE -fno-builtin -nostdlib -DKBUILD_MODNAME="cloop" -DKBUILD_BASENAME="cloop"
とする。
3) make
make KERNEL_DIR=/path/to/linux-kernel/sources
4)ルートになって
mkdir -p /lib/modules/misc cp cloop.o /lib/modules/misc/ cp create_compressed_fs extract_compressed_fs /usr/sbin/ depmod -a
また、/etc/modules.confに
alias block-major-240 cloop
という行を追加しておく。
mknod /dev/cloop b 240 0 mknod /dev/cloop1 b 240 1 mknod /dev/cloop2 b 240 2 . . (必要な数だけ作成する)
CDROMをセットし、
dd if=/dev/cdrom of=file
create_compressed_fs file 262144 > file_compressed
losetup /dev/cloop /path/to/file_compressed losetup /dev/cloop1 /path/to/file1_compressed losetup /dev/cloop2 /path/to/file2_compressed . .
mount -o ro -t iso9660 /dev/cloop /mnt/cdrom mount -o ro -t iso9660 /dev/cloop1 /mnt/cdrom1 mount -o ro -t iso9660 /dev/cloop2 /mnt/cdrom2 . .
マウントするイメージファイルは、CDROM以外の任意のファイルシステム のイメージでもよい。(ただしread onlyでマウントされる。)