UEFI 用 Clonezilla SE Live の作成

前の記事では、Clonezilla SE を使って UEFI BISO のクライアント機に展開をかけるときに必要な修正について書いた。
Clonezilla SE を使うたびに、毎回この修正を行うのも手間なので、Live CD そのものにこの修正を施すことにする。

Clonezilla SE

Live CD の Clonezilla SE の環境は squashfs と呼ばれるファイルシステムを圧縮した形式で構築されている。
このため作業は大まかに以下の手順で行う。

  1. Live CD から squashfs 形式の Clonezilla SE の環境を展開する。
  2. 展開した Clonezilla SE の環境の設定を修正する。
  3. 修正後の Clonezilla SE の環境を squashfs 形式に圧縮する。
  4. squashfs 形式に圧縮した Clonezilla SE の環境を含む Live CD を作成する。

前準備

作業を始めるにあたって、さすがに Live CD 自身でその作業はできない。
そこで作業は使い慣れている ubuntu 上で行う。
ubuntu のバージョンは 14.04 だ。

作業には squashfs の展開、圧縮と ISO 形式ファイルの作成が必要だ。
そこでまず最初に以下のコマンドで、squashfs を操作するコマンドと、ISO 形式のファイルを作成するコマンドをインストールしておく。

また作業用ディレクトリとして mkdir ~/clonezillaSE コマンドを実行して ~/clonezillaSE ディレクトリを作成する。
Clonezilla Live の CD の内容を ~/clonezillaSE/cd ディレクトリにコピーし、Clonezilla SE の環境を ~/clonezillaSE/squash ディレクトリに展開して作業を行う予定だ。

修正済の Clonezilla SE Live は ~/clonezillaSE ディレクトリに ISO 形式のファイルとして作成する。

Clonezilla SE の環境を展開

Clonnezilla SE の環境を展開するため、最初に Clonezilla SE の Live CD を CD/DVD ドライブに挿入して、その中身をすべて作業用ディレクトリにコピーする。
CD/DVD ドライブが /dev/sr0 だとすると、 sudo mount -t iso9660 -o ro /dev/sr0 /media/cdromコマンドを実行して /media/cdrom ディレクトリにマウントする。
Live CD の ISO イメージとして drbl-live-xfce-2.3.1-6-amd64.iso を使うときは、 sudo mount -o loop -t iso9660 -o ro drbl-live-xfce-2.3.1-6-amd64.iso /media/cdromコマンドなどで /media/cdrom ディレクトリにマウントする。

続いて、作業用のディレクトリとして ~/clonezillaSE/cd を作成し、そこに LiveCD の中身を全てコピーする。

カスタマイズで使うのは Live CD の中にある /live/filesystem.squashfs ファイルだけだが、最後に ISO 形式にするときに他のファイルも全て必要になるので、ここで全部コピーしておく。
また、元の Live CD との違いを極力少なくするため、 cp コマンドを sudo コマンドのサブコマンドに、オプションに -p を付けて、オーナー、グループ、アクセス権が変わらないようにした。

Live CD からのコピーができたら、 sudo umount /media/cdrom コマンドを実行して Live CD のマウントを解除しておく。

次に Clonezilla SE の本体である /live/filesystem.squashfs を展開する。
先に Live CD の中身を ~/clonezillaSE/cd ディレクトリにコピーしたのでこのファイルは ~/clonezillaSE/cd/live/filesystem.squashfs になる。
以下のコマンドでこれを ~/clonezillaSE/squash ディレクトリに展開する。

unsquashfs コマンドを実行するときも、圧縮されているファイル、ディレクトリのオーナー、グループ、アクセス権を保持するように sudo コマンドを付けた。

なお、 unsquashfs コマンドで指定する展開先ディレクトリがすでに存在しているとエラーになる。
上のコマンドでは ~/clonezillaSE/squash が存在しているとエラーになるので、場合によっては rmdir ~/clonezillaSE/squash コマンドなどでディレクトリを削除しておく必要がある。

Clonezilla SE の環境の設定を修正

今回のカスタマイズの主体は、Live CD の /live/filesystem.squashfs の中の /tftpboot/nbi_img/pxelinux.cfg/default ファイルの修正だ。
unsquashfs コマンドで展開したディレクトリ内では、 ~/clonezillaSE/squash/tftpboot/nbi_img/pxelinux.cfg/default ファイルがそれだ。

そこで以下のコマンドを実行して /clonezillaSE/squash/tftpboot/nbi_img/pxelinux.cfg/default ファイルを修正する。

修正した Clonezilla SE を squashfs に圧縮

これで修正が終わったので、圧縮して squashfs 形式にする。

squashfs 形式にするとき、オリジナルの ~/clonezillaSE/cd/live/filesystem.squashfs ファイルを指定して直接置き換えても良いのだが、念のために ~/clonezillaSE ディレクトリに squashfs 形式のファイルを作成してから上書きすることにした。
mksquashfs の圧縮形式には、高圧縮率と言われている xz を指定した。

mksquashfs のオプション指定は一般的な linux の作法とは逆で、末尾に指定しないと正しく解釈できないことがあるようだ。
念のために、上書きした後に ~/clonezillaSE/cd/live/filesystem.squashfs ファイルのオーナー、グループとアクセス権を元と同じにしておく。

修正した Clonezilla SE から Live CD を作る

最後に以下のコマンドを実行して、 ~/clonezillaSE/cd ディレクトリ以下を ISO 形式に変換する。作成する ISO 形式ファイルのファイル名は ~/clonezillaSE/drbl-live-xfce-2.3.1-6-amd64-eficlient.iso にした。

できあがった ISO 形式のファイルを、CD に焼くなり USB メモリーにコピーして Live USB にするなりすれば、カスタマイズ済みの Clonezilla SE が起動する。

コメントを残す