KNOPPIX 4.0 日本語版(産総研)を前提にした KNOPPIX のカスタム方法を紹介します。
[目次]
0) ハードウェア環境
1) 作業ディレクトリの作成・コピー
2) カスタム作業
3) CD-R の焼き込み
基本コンセプトはツールスクリプト(*1)を使った超簡単カスタマイズです。ただ DVD を再構成するのは自分のハードウェア環境では無理なので、パッケージを大幅にダイエットして CD-R に焼くことを想定しています。
*1) 日本電子専門学校版 USB-KNOPPIX に付属していた tools ディレクトリ下のスクリプトを KNOPPIX 4.0 環境に合わせ、自分が使いやすいように大幅に改造しています。日本電子専門学校版 USB-KNOPPIX のスクリプトは GPL ライセンスで公開しているとのことですのでここで公開しているスクリプトも GPLライセンスになります
なお、下記のファイルを使いますのでダウンロードしておいて下さい。
⇒ knxtool_20050815-1.tgz(ダウンロード)
⇒ cdrom-4.0-mask.tgz(ダウンロード)
※上記ファイルは GPL2 ライセンスで公開されています
0) ハードウェア環境
– KNOPPIX 4.0 DVD が起動可能
– ネットワークに接続可能
– 20GB 以上の HDD 空き容量(ext2, ext3 など)
– 1GB 以上の swap領域
KNOPPIX 4.0 では DVD になったこともあり /KNOPPIX と /KNOPPIX2 を合わせて 9GB ほどあります。余裕を見て 20GB 程度の作業領域が必要でしょう。パーミッションなどの関係上 Linux ネイティブなファイルシステム(ext2 や ext3 など)を用意します。
実メモリは特に記載していませんが私の環境では 256MB で作業しています。1GB の swap が効いていてなんとかなっていますがかなりつらいものがあります。実メモリは多いと少しは幸せになれるかもしれません。
1) 作業ディレクトリの作成・コピー
1.0) KNOPPIX DVD からシステムを起動
KNOPPIX DVD からベースになるシステムをコピーする必要があります。
コピー作業のためには DVD から起動していると都合がいいのでここでは DVD から起動することにします。
1.1) 作業ディレクトリの作成
下記の環境で作業しているものと仮定します。
作業パーティション:/dev/hda2(内蔵HDD の第2パーティション)
作業ディレクトリ:/mnt/hda2/MYKNOPPIX
$ su
以下 root で作業します
# mount /dev/hda2 /mnt/hda2
# mkdir /mnt/hda2/MYKNOPPIX
# cd /mnt/hda2/MYKNOPPIX
以下、作業ディレクトリで作業します。
1.2) ソースディレクトリの作成&コピー
# mkdir src
# cp -a /KNOPPIX/* src
# cp -a /KNOPPIX2/* src
KNOPPIX 4.0 からは圧縮ループバックファイルシステム(CLOOP)が KNOPPIX と KNOPPIX2 の2つに分かれています。両方コピーしてマージします。
1.3) CD-ROM ディレクトリの作成&コピー
# tar xzf cdrom-4.0-mask.tgz
# mkdir /tmp/cdrom
# mount -t unionfs -o dirs=cdrom-mask:/cdrom=ro mycdrom /tmp/cdrom
# cp -a /tmp/cdrom .
# umount /tmp/cdrom
全部コピーするとサイズが非常に大きいので UNIONFS で /cdrom をマスクしたディレクトリをコピーします。coLinux や qemu など追加したい場合は個別にコピーします。
※一通りコピーが終了したら DVD 起動したシステムで作業をする必要はありません。HDD にインストールした Linux 等で再起動して作業するといいでしょう。個人的には Windows パーテイションから起動した KNOPPIX で作業をしています
2) カスタム作業
2.0) ツールスクリプトの準備
# tar xzf knxtool_20050815-1.tgz
knoppix-build.cnf … 設定ファイル
knxtool … シェルスクリプト
カレントディレクトリに2ファイルが展開されます。カスタム作業はこの2つを使って行います。
2.1) 設定ファイルの編集
knoppix-build.cnf を自分の環境に合わせて編集します。いろいろと設定できますが変更する可能性が高いのは次の3つです。
CDROM_VOLI= CD-ROM イメージ(ISO)のボリュームID(省略可、空白文字は使用不可)
CDROM_ISO= 作成される CD-ROM イメージ(ISO)のファイル名
CDROM_APPENDIX= KNOPPIX2 に入れるディレクトリまたはファイルのリスト(省略化)
CDROM_VOLI と CDROM_ISO はデフォルトのままでもまったく問題ありませんが、CD-ROM に自分独自の名前をつけたい場合には CDROM_VOLI を変更するといいでしょう。
CDROM_APPENDIX は圧縮ループバックファイルシステム(CLOOP)の KNOPPIX2 ファイルに入れるディレクトリまたはファイルを決定します。省略した場合は KNOPPIX2 ファイルは作成されずに KNOPPIX ファイルに全てがコピーされます。
CDROM_APPENDIX のデフォルトは自分が使っているものになっているのですが、これは KNOPPIX 4.0 DVD とは違っています。DVD では
/lost+found
/opt
/usr/NX
/usr/man
/usr/src
/usr/share/いろいろ
が KNOPPIX2 ファイルに保存されていますが、 /usr/share 下のファイルで重複しているものがあり正直よくわかりません。
CD-R に入るぐらいの容量では特に KNOPPIX と KNOPPIX2 に分ける必要はないので CDROM_APPENDIX は省略してかまいません。個人的には USBフラッシュメモリにインストールすることを想定して KNOPPIX(必須)と KNOPPIX2(追加分)に分けています。
2.2) パッケージの追加・削除
# ./knxtool chroot
aptitude または apt-get でパッケージの追加・削除をします
ここではとりあえずインタラクティブUI の aptitude を使うものとします
# aptitude update
# aptitude
# aptitude clean# [Ctrl-D]
ここで容量を喰ういらないパッケージはばっさり削って、必要なパッケージを追加します。DVD まるごと再構成はかなりつらいものがあるので、CD-R に入る程度までダイエットするのがベストだと思います。
aptitude または apt-get の使い方は Debian のホームページや書籍を参考にして下さい。
2.3) CD-ROMイメージ(ISO)の作成
# ./knxtool fullbuild
単に作成するだけなら上記のコマンド1つで作成できます。ただ、さすがにこれだと時間もかかるし小回りが利かないので次のようなオプションを用意しています
./knxtool gencloop simple … KNOPPIX(CLOOP) のみ作成
./knxtool gencloop appendix … KNOPPIX2(CLOOP) のみ作成
./knxtool genbootcd … CD-ROM イメージ(ISO) の作成作業のみ
3) CD-R を焼き込み
BOOTCD-日付.iso を Linux, Windows, Mac など自分の使いやすい環境で CD-R に焼きます。
ちなみに私は Mac 使ってます 🙂
FAQ
Q) 他のカスタムガイドでは chroot の後で proc ファイルシステムを mount していますが必要ないのでしょうか?
A) スクリプトの内部で proc ファイルシステムを mount/unmount しているので必要ありません
Q) 不用なディレクトリやファイルの削除は必要ないのでしょうか?
A) これもスクリプトの内部で行っています。たぶん(をいをい(^^;)大丈夫です
Q) 設定ファイルで使われていない環境変数が多いようなのですが
A) 日本電子専門学校版 USB-KNOPPIX のものがそのまま残っています。まぁ、気にしないで下さい(^^;
参考:
⇒ KNOPPIX Japanese edition (産総研)
⇒ USB接続型フ ラッシュメモリからのKNOPPIX起動について2(日本電子専門学校コンピュータネットワーク研究科)
Tags: Linux