KNOPPIXのカスタマイズ方法【その2】

前回に引き続きブログの主題とは外れますが、KNOPPIXをカスタマイズして作りたいものがあるので色々調べています。その覚書として。

今回の内容はHAYAGUI KNOPPIXをリマスタリングを全面的に参考にさせていただきました。

コマンドのオプション等はそのまま使っております。ありがとうございます。

今回の流れ

今回は本格的なカスタマイズの準備としてcloopファイルの展開、圧縮方法を記述します。

KNOPPIXはcloopファイル内に圧縮したrootファイルシステムを保持していますので、パッケージの追加や削除等を行うにはこのcloopファイル内の内容を変更する必要があります。

※cloopファイルはCDROM内、KNOPPIXフォルダ内のKNOPPIXというファイルです。

展開場所の確保

まず、展開場所を確保します。

ここは余裕を持って4GBくらいの空きがあるext3ファイルシステム上を指定します。

今回は仮に「/mnt/tenkai」とします。

cloopファイルのマウント

次に、cloopファイルを適当なマウントポイントにマウントします。

KNOPPIXを起動した状態では「/KNOPPIX/」以下がマウントされたファイルシステムになります。

Debian etchの場合はcloop系のパッケージを追加で入れる必要がありました。

※詳細は後日、調べて記載します。

今回は仮に「/mnt/cloop」とします。

cloopファイルの展開

以下のコマンドで、マウントポイントからファイルを展開場所にコピーします。

cp -dpR /mnt/cloop/* /mnt/tenkai
cpのオプション 説明
d シンボリックリンクをコピーする場合、シンボリックリンクが指しているファイルをコピーするのではなく、シンボリックリンクとしてコピーする。
p オリジナルファイルの所有者・グループ・アクセス権・アクセス時刻を保存する
R ディレクトリを再帰的にコピーし、一般のファイルでもなくディレクトリでもないものに対してはそれに相応したコピーをする。

Manpage of CPより引用

cloopファイルの圧縮

本来であればカスタマイズを行ってから圧縮作業を行いますが、動作確認ということで展開したファイルを下記コマンドでそのまま圧縮します。

最後の「KNOPPIX」という部分はどこにどんな名前でcloopファイルを作成するかというところです。このままではカレントディレクトリに作成されるので適当な場所を指定してください。

mkisofs -R -l -V "KNOPPIX" -hide-rr-moved -v /mnt/tenkai | create_compressed_fs - 65536 > KNOPPIX
mkisofsのオプション 説明
R ISO9660 ファイルシステムのファイルを詳細に説明するために Rock Ridge プロトコルを使用して SUSP 及び RR レコードを生成する。
l 30 文字のファイル名を許す。
V マスターブロックに記載するボリューム ID を指定する。
-hide-rr-moved Rock Ridge ツリーではディレクトリ RR_MOVED を .rr_moved という名前に変更する。
v 冗長な出力。

Manpage of MKISOFSより引用

起動確認

作成した「KNOPPIX」ファイルをCDROM内、KNOPPIXフォルダ内のKNOPPIXというファイルと入れ替えた状態で起動できれば問題なしということになります。

手順としては前回の「3)cloopファイル以外のところをカスタマイズ」の後で「(/sagyouyou/)KNOPPIX/KNOPPIX」を入れ替えてください。

追記

作成した「KNOPPIX」が0バイト(空)になってしまう場合は、上記コマンドのパイプ・リダイレクト前後に半角スペースを入れて実行してみてください。