2009年10月14日水曜日

KNOPPIX6.01日本語版の改造

KNOPPIX6.01日本語版は「LCATによる高速化してない」とか「cloopの最適化ができない」とか、ブーブー言っててもしょうがないんで、ちょっくらminirt.gz内のinitスクリプトを改造してみました。

以下のdiffリストのように変更しました。

minirt.gz内のinitスクリプトのdiffリスト
476c476,480
< local k dev dir count=0 RC=0
---
> local k dev dir count=0 RC=0 THREAD="thread_mode=0" CHKBLK=0
> for i in $CMDLINE ; do
> case ${i} in chkblk=*|CHKBLK=*) eval ${i} ; [ -n ${chkblk} ]
&& CHKBLK=${chkblk} ;; esac
> case ${i} in *noclpthread*|*NOCLPTHREAD*) THREAD="" ;; esac
> done
478c482
< [ -d /sys/module/cloop ] || insmod /mnt-system/"$knoppix_dir"
/modules/cloop.ko preload=32 || return 2
---
> [ -d /sys/module/cloop ] || insmod /mnt-system/"$knoppix_dir"
/modules/cloop.ko chkblks=${CHKBLK} ${THREAD} preload=32 || return 2
513a518,526
> if test -x /accl/cloopreadahead ; then
> CLOOPREADAHEAD="yes"
> checkbootparam "nocbr" && CLOOPREADAHEAD=""
> if test -n "${CLOOPREADAHEAD}" -a -f /mnt-system/${knoppix_dir}
/KNOPPIX.boot.lst ; then
> echo ""
> echo "${GREEN}Reading cloop block... ${BLUE}(Backgrounding)${NORMAL}"
> /accl/cloopreadahead /mnt-system/${knoppix_dir}/KNOPPIX
/mnt-system/${knoppix_dir}/KNOPPIX.boot.lst > /.cloopreadahead.log 2>&1 &
> fi
> fi


それと、minirt.gz内に/acclってディレクトリを作って、その下にcloopreadaheadコマンドを格納するようにしました。


cloopファイルの最適化のやり方

KNOPPIX6.01日本語版で、ブート時に以下のように起動パラメータを指定する。
boot: knoppix nosmp chkblk=10000 nocbr


システムが立ち上がったら、コマンド端末から以下の操作をして、立ち上がるまでのリードブロック情報を取得する。
# cat /proc/cloop/read_blocks > /mnt/hdb1/KNOPPIX.boot
# echo 1 > /proc/cloop/reset_read_blocks


IceWeazelとかOpenOfficeとかを動かした後、コマンド端末から以下の操作をして、アプリケーション起動後のリードブロック情報を取得する
# cat /proc/cloop/read_blocks > /mnt/hdb1/KNOPPIX.app


Debian Linuxマシンに移って、KNOPPIXで取得したリードブロック情報ファイル(KNOPPI.bootとKNOPPIX.app)を使って、cloopファイルのブロックを再構成する。
# cloopoptimizer cdimage/KNOPPIX/KNOPPIX KNOPPIX.boot \
KNOPPIX.app > KNOPPIX.new


オリジナルのcloopファイルを削除して、再構成したcloopファイルで置き換える。
# rm /cdimage/KNOPPIX/KNOPPIX
# mv KNOPPIX.new /cdimage/KNOPPIX/KNOPPIX


KNOPPIX立ち上げ時、読み込むリードブロック情報のカタログ(?)を作成する。
# rblk2bl KNOPPIX.boot > /cdimage/KNOPPIX/KNOPPIX.boot.lst
# appblk2bl KNOPPIX.boot 262144 KNOPPIX.app \
> /cdimage/KNOPPIX/KNOPPIX.app.lst


このあとisoイメージを作成すれば、LCATによる高速化KNOPPIX6.01日本語版が完成です。


んで、どのくらい速くなったかって言うと、、、まだ正確に測定はしてないんだけど、「気持ち速くなったかなぁ~」って程度でした。負け惜しみでなく、確かに速くはなっています。
KDEとかGNOMEみたいに大量にcloopをアクセスするんなら効果は出るんだろうけど、lxdeはcloopをそれほどアクセスしてないから、ほんの気持ち程度の性能アップに留まったのかな?と推測しています。

0 件のコメント:

コメントを投稿