Ubuntu Weekly Recipe

第3回 Desktop CDを使いこなす(2):より高度なLiveCDのカスタマイズ

この記事を読むのに必要な時間:およそ 5 分

SquashFS以外のカスタマイズ

Desktop CDのSquashFS以外の領域を変更することで,起動時のデフォルトオプションを始めとした,いくつかの要素を変更することができます。これらの作業は不要であれば省略するべきものです。

デフォルトで“Persistence”機能が有効になるLiveCD

前回触れた⁠Persistence⁠機能は,起動時に毎回persistentキーワードを入力し,起動オプションを変更する必要がありました。この起動オプションは,isolinux/isolinux.cfgで規定されています。isolinux.cfgの,次のような部分にpersitentキーワードを追加した状態でCDをマスタリングすることで,この作業を省略することができます。

LABEL live
  menu label ^Start or install Ubuntu
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash tz=Asia/Tokyo utc=no --

ただし,⁠Persistence⁠機能はcasper-rw領域が存在しない場合に起動プロセスがクラッシュするため,無条件で有効にすべきものではありません。

その他の起動オプション

persistent以外にLiveCDに追加することを検討する価値があると考えられるオプションは,次の通りです。これらは主に特定のハードウェアで動作しない場合の対策となります。通常は必要ありません。

  • irqpoll:
    all_generic_ide:

    いずれも,LiveCDの起動時に光学ドライブの検出方法を変更します。通常の起動ではinitrdが提供するbusybox shellに落ちてしまう場合に有効です。

  • noapic:

    APICの利用を行わず,強制的にPICを利用させます。
    通常の設定では動作せず,かつ,irqpollやall_generic_ideも有効でない特定のハードウェア(おおむね2004年までに製造されたもの)で有効なことがあります。

  • acpi=force:

    何かの理由でACPIがサポートされていないと誤認されている環境で,ACPIを強制的に有効にします。ACPIの有効化は通常は電源制御周りのアプローチの変更だけですが,バグのあるBIOSやチップセットを利用している場合はPIC/APICの動作を適正化するのに役に立ちます。
    通常の設定では動作せず,かつ,irqpollやall_generic_ideも有効でない特定のハードウェア(おおむね2004年までに製造されたものですが,まれに最近のハードウェアにも存在します)で有効なことがあります。

  • i8042.noloop:

    (主にMicrosoft VirtualPCでのマウス動作を改善するために)AUXポートへのprobeを省略します。

CDのマスタリング

CDのマスタリングを行う前に,kernelパッケージのアップデート,もしくはinitrd(initramfs)の再生成を行った場合は,LiveCDで使われるカーネルを更新する必要があります。

$ sudo cp edit/vmlinuz extract-cd/casper/vmlinuz
$ sudo cp edit/initrd.img extract-cd/casper/initrd.gz

メディアチェックに利用されるMD5ハッシュを更新します。

$ sudo /bin/sh -c "rm extract-cd/md5sum.txt"
$ sudo /bin/sh -c "(cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)"

ISOイメージを生成します。VolumeLabel部分はメディアに設定したいボリュームラベルに置き換えてください。

$ sudo mkisofs -r -V "VolumeLabel" -cache-inodes -J -l -b isolinux/isolinux.bin -c

以上でカスタマイズしたISOの生成は完了です。UCKやRemastersysも基本的には以上の手順とまったく同じことをしていますので,これらを構成するスクリプトを参考に独自の構築スクリプトを作成することができます。

また,以上で行った操作(に加えて,libdvdcss2とw32codecsをインストールし,DVDの視聴やマルチメディアファイルの再生に対応させ,さらにFlash Pluginを導入する)個人用CDを作成するためのラッパースクリプトがUbuntu Forumに投稿されています。このスクリプトは7.04時代に投稿されたものですが,7.10でも動作します。このスクリプトはchrootせず,dpkgのインストール先指定を変更することでパッケージをインストールしていますが,参考になるでしょう。

Desktop CDの今後

LiveCDとしてのDesktop CDの今後については,必ずしも順調な進捗ではありませんが,以下のようなプロジェクトが存在します。

  • 「カスタマイズのテンプレートとなりうる,ベースとなるLiveCDの構築を目指す」⁠LiveCDCreator⁠
  • 「DVD-RWなどにおいて,LiveCDとしての動作に加えて,書き換え可能なUDF領域を用いて⁠Persistence⁠機能を実現する」Live CD - Write-as-you-go

その他,参考になるドキュメント

著者プロフィール

吉田史(よしだふみひと)

Ubuntu Japanese Team Member株式会社創夢所属。システム管理を中心にWindows/PC Unixを併用している。Ubuntu Japanese Teamではパッケージサーバの管理や翻訳などの作業を担当。