head	1.2;
access;
symbols;
locks; strict;
comment	@# @;


1.2
date	2006.02.16.00.53.35;	author abeda;	state Exp;
branches;
next	1.1;

1.1
date	2006.02.15.05.05.37;	author abeda;	state Exp;
branches;
next	;


desc
@@


1.2
log
@*** empty log message ***
@
text
@General Information
===================

高速化版cloopカーネルモジュール(cloop.ko)のREADMEです。ライブCDではminirt.gz(initrd)の起動時に読み込まれるモジュールとして組み込むことで高速化フォーマットのcloopイメージを読み込むことができます。通常のLinuxシステムに組み込んで仕様することも可能です。

The function of this tool
=========================

高速化版のcloop.koは以下の機能を持っています。

* 高速化フォーマットされたcloopイメージのマウント
 "cloopoptimzer"で高速化フォーマットを適用したcloopイメージをマウントし、読み出すことができます。これは通常のcloopモジュールでは実現できません。

* バージョン2フォーマットのcloopイメージのマウント
 高速化されていないcloopイメージを読み出すことができます。LCATはcloopバージョン2を対象としているので、それ以前のバージョンのcloopを組み込むことはできません。

* ブート、アプリケーション起動時のブロック参照状況取得
 高速化されたcloop.koは起動時に以下のブートオプションを使うことで、cloopのブロック参照状況を/proc/cloop/read_blocksに記録します。

	boot : knoppix chkblk=10000 nocbr

 chkblkには、/proc/cloop/read_blocksが記録できる最大のブロック数を記入します。大体は10000で問題ないでしょう。/proc/cloop/read_blocksのデータは、/proc/cloop/reset_read_blocksを以下のように使うことでリセットできます。

	# echo 1 > /proc/cloop/reset_read_blocks

 /proc/cloop/read_blocksをリセットした次の操作でブロック参照状況を調べたいアプリケーションを起動すれば、/proc/cloop/read_blocksにログが保存されます。
 注意しなければならないのは、/proc/cloop/read_blocksは常にブロック参照状況を記録しようとすることです。厳密な参照状況を取得したい場合は、ブートやアプリケーションの起動が終了した直後に/proc/cloop/read_blocksの内容をコピーして保持するべきです。起動時には、仮想コンソールに移動してコピーを行えばkonsoleなどのGUIコンソールをcloop.koが読み出すことを回避できるでしょう。


How to inclusion to minirt.gz (for KNOPPIX)
=========================================

高速化されたcloop.koをminirt.gz(や、initrdなどの起動シーケンスアーカイブ)に組み込むには、minirt.gzを解凍して書き込み可能状態にしてやる必要があります。例えば、次のような操作です。

 # gzip -d minirt.gz
 # mkdir mntdir
 # mount -o loop minirt mntdir

解凍したディレクトリ内のモジュールを格納しているディレクトリには、高速化されていないcloopモジュールが入っているはずです。例えば、KNOPPIXではmntdir/modulesの直下にcloop.koが配置されています。これを高速化したcloopに差し替えます。

 # cp lcat_1.0/clooop-2.02-opt/cloop.ko mntdir/modules/.

差し替えが終わったら、起動シーケンス(例えば、mntdir/linuxrc)のcloop.ko読み出し部分を高速化されたcloop.koに対応させます。KNOPPIXのlinuxrcでは、次のようになるでしょう。

 mount_knoppix()
  {
    if test -n "$FOUND_KNOPPIX" -a -f $1/$KNOPPIX_DIR/$KNOPPIX_NAME; then
       for i in $CMDLINE; do
        case "$i" in chkblk=*|CHKBLK=*) eval $i;; esac
        [ -n "$chkblk" ] && CHKBLK="$chkblk";
      done
      RBLKS=""
      [ -n "$chkblk" ] && RBLKS="rblks=$chkblk";
      $INSMOD -f /modules/cloop.o "$RBLKS" file=$1/$KNOPPIX_DIR/$KNOPPIX_NAME
      mountit /dev/cloop /KNOPPIX "-o ro" || FOUND_KNOPPIX=""
    fi
  }

全ての作業が終わったら、minirtをアンマウントし、gzipで固めてCDイメージ上に配置すれば高速化モジュールの適用は終了です。

 # gzip --best minirt
 # cp minirt.gz $TARGET/boot/isolinux/.


How to inclusion to General Linux System
===============================================

通常のLinuxでcloopを高速化版cloop.koで読み出したい場合は、まず読み込み済みのcloopモジュールをすべて除去する必要があります。

 # rmmod cloop

lsmodなどでcloopモジュールが読み込まれていないことを確認したら、高速化したcloopモジュールを組み込みます。組み込めたら、デバイスインターフェイス/dev/cloopができあがっていますので、/読み込みたい/cloopの/イメージ　をマウントします。cloopイメージはrwでマウントできない(マウントしても書き出せない)ので、roオプションを付けてマウントします。
 
 # insmod cloop-2.02-opt/cloop.ko
 # mount -o ro /dev/cloop /target/cloop/image


@


1.1
log
@Initial revision
@
text
@d4 1
a4 2
This Document is directions of cloop-2.02-opt/cloop.ko which is a Linux module and is used by LiveCD, being included in "minirt.gz(initrd)". Of cource, although it can also be used being able to include in your Linux System.

d9 10
a18 1
cloop.ko has the following functions.
d20 1
a20 3
* mount of a cloop image.
   - mount of cloop image by which the accelaretion format was carried out
   - mount of cloop version 2 image which becomes origin
d22 6
a27 1
* cloop block reference situation at the time of starting is recorded
d33 1
a33 1
In order to include cloop.ko in minirt.gz, it is necessary to defrosting minirt.gz first and to carry out loop back mount.
d39 1
a39 1
A new cloop module(cloop.ko) is arranged there in lcat_1.0/cloop-2.02-opt/ directory which make finished.Since cloop.ko is arranged directly under the mntdir/modules directory, it replaces with new cloop.ko .
d43 17
a59 1
In addition, required change is given and it recompresses.At the end, done minirt.gz is arranged to the directory of a $CDROM/boot/isolinux/.
a64 1

d68 1
a68 1
First, remove the cloop module read into all existing.
d72 1
a72 1
Install cloop.ko and mount cloop image.
a77 14
How to record the steta at the time of boot
===========================================

Start KNOPPIX in which cloop.ko of lcat was contained and make it start as the following boot option

 boot: knoppix chkblks=10000 nocbr

Block reference situation record text file "read_blocks" and process file "reset_read_blocks" for "read_blocks" reset are done in /proc/cloop after starting.

The deta of "read_blocks" will be reset if the following command is put in.

 # echo 1 > /proc/cloop/reset_read_blocks

 By starting application after reset, the block reference situation of application is newly recorded on read_blocks.
@
