:B~ Debian インストーラの独自化 1~customizing-installer Debian インストーラの独自化 Live システムのイメージは Debian インストーラと統合できます。インストールには収録内容やインストーラの動作方法によりいくつもの異なる種類があります。 この節で「Debian インストーラ」と大文字を使った表記で参照しているところに注意してください - この表記の場合には公式の Debian システム用インストーラを明示的に指していて、他の何かではありません。「d-i」と短縮することもよくあります。 2~ Debian インストーラの種類 インストーラの主な3つの種類: *{「通常の」Debian インストーラ}*: これは通常の Live システムのイメージで、(適切なブートローダからそれを選択した場合に) Debian のCDイメージをダウンロードしてそれをブートしたのと同様に標準の Debian インストーラを起動するための別個のカーネルと initrd を収録しています。Live システムとこういった別個の独立したインストーラを収録するイメージはよく「複合イメージ」と呼ばれます。 こういったイメージでは、/{debootstrap}/ を使ってローカルメディアやネットワークから .deb パッケージを取得、インストールすることで Debian がインストールされます。結果としてはデフォルトの Debian システムがハードディスクにインストールされます。 このプロセス全体で、いくつもの方法で preseed を使って独自化できます。さらなる情報については Debian インストーラマニュアルの関連するページを見てください。機能する preseed ファイルが得られたら live-build が自動的にイメージに取り込んで使えるようになります。 *{「Live」Debian インストーラ}*: これは Live システムイメージで、(適切なブートローダからそれを選択した場合に) Debian インストーラを起動するための別個のカーネルと initrd を収録しています。 インストールは上記で説明した「通常の」インストールと全く同じように進みますが、実際にパッケージをインストールする段階で、/{debootstrap}/ を使ってパッケージを取得、インストールする代わりに、Live ファイルシステムのイメージを対象にコピーします。これは live-installer という特別な udeb により行っています。 この段階の後は、Debian インストーラはインストールや、ブートローダやローカルユーザ等の設定を通常どおり続けます。 *{注意:}* 一つの Live メディアのブートローダの項目で通常のインストーラと Live インストーラの両方に対応するには、#{live-installer/enable=false}# という preseed により live-installer を無効化する必要があります。 *{「デスクトップ」Debian インストーラ}*: 収録する Debian インストーラの種類を問わず、デスクトップからアイコンをクリックすることで #{d-i}# を起動できます。状況によってはこちらの方がユーザからわかりやすいこともあります。これを使えるようにするには debian-installer-launcher パッケージを収録する必要があります。 live-build は Debian インストーラのイメージをデフォルトではイメージに収録しないことに注意してください。#{lb config}# により具体的に有効化する必要があります。さらに、「デスクトップ」インストーラが機能するようにするには Live システムのカーネルが指定されたアーキテクチャで #{d-i}# が利用するカーネルと一致する必要があることに注意してください。例えば: code{ $ lb config --architectures i386 --linux-flavours 586 \ --debian-installer live $ echo debian-installer-launcher >> config/package-lists/my.list.chroot }code 2~ preseed による Debian インストーラの独自化 https://www.debian.org/releases/stable/i386/apb.html にある Debian インストーラマニュアルの付録Bで説明されていますが「preseed は、インストールの実行中に手作業により回答を入力せずに、インストールプロセス中の質問の回答を設定する方法を提供します。これにより、ほとんどの方法のインストールを完全に自動化し、さらに通常のインストールでは利用できない特徴もあります」。この種の独自化は live-build を使って設定を #{preseed.cfg}# ファイルに書き、#{config/includes.installer/}# に置くことで最も完成させることができます。例えばロケールを #{en_US}# に設定する preseed は: code{ $ echo "d-i debian-installer/locale string en_US" \ >> config/includes.installer/preseed.cfg }code 2~ Debian インストーラの収録内容の独自化 実験やデバッグの目的で、ローカルでビルドした #{d-i}# の一部である udeb パッケージを収録したいことがあるかもしれません。#{config/packages.binary/}# にそれを配置してイメージに収録します。{Live/chroot ローカルインクルード}#live-chroot-local-includes と同じ方法で内容を #{config/includes.installer/}# に置くことで、追加または置換するファイルやディレクトリを同様にインストーラの initrd に収録することもできます。