この記事に書かれている内容は不正確であり、記事の通りにやっても正常にビルドできない可能性があります。

この記事では、Live Buildの一部についてしか触れません。より詳しく知りたい方はこちらを見ることをお勧めします。

Debianには公式が提供しているDebian Live BuildというLiveCDを作成するためのツールがあります。

Beta2ではそれを使用してISOを作成しました。この記事はその備忘録です。

目次
    1. インストール
    2. 制作
    3. パッケージ
      1. オプション:リポジトリを追加
    4. 設定ファイル
    5. ビルド
    6. 再ビルド
    7. 問題
      1. Debian Installerが正常に作成できない
      2. CalamaresをLive CDで使えるようにする
      3. バージョンが違う
      4. Grubのテーマを変えたい
    8. 最後に
    9. 参考

インストール

live-bootとlive-configが必要なのかは知りません。

$ sudo apt install live-build live-boot live-config

制作

最初に作業用ディレクトリを作成して初期化します。

$ mkdir iso
$ cd iso
$ lb config

まずはミラーを設定します。ここはお好きなミラーに。

また今回は

  • amd64
  • bookworm
  • 日本語

でISOをビルドしていきます。

$ lb config --mirror-bootstrap "http://ftp.jp.debian.org/debian/"
$ lb config --mirror-chroot "http://ftp.jp.debian.org/debian/"
$ lb config --mirror-binary "http://ftp.jp.debian.org/debian/"
$ lb config -a amd64
$ lb config --bootappend-live "boot=live components locales=ja_JP.UTF-8 keyboard-layouts=ja"
$ lb config --distribution bookworm

パッケージ

次にパッケージのリストを作成します。

デスクトップ環境から入れていきますが、やはりパッケージを一つ一つリストに加えていくのは大変です。メタパッケージを使用すると楽ができます。

デスクトップにKDEを使用する場合は、task-kde-desktopというメタパッケージが利用できます。これを使用するとKDEのデスクトップ環境に必要なパッケージが取得できます。

$ echo '! Packages Priority standard' > config/package-lists/standard.list.chroot
$ echo task-kde-desktop task-japanese task-japanese-desktop >> config/package-lists/desktop.list.chroot

次にインストーラーを入れていきます。Calamaresを入れますが、なぜかDebianのbookwormにパッケージがなかったので、強引に入れていきます。ここからamd64のパッケージをダウンロードします。このライブラリも必要なのでダウンロードします。

追記

buster以降のすべてでパッケージが追加されたので、そのままリストに追加すれば使用可能です。

これらをconfig/packages.chroot/の中に入れていきます。

オプション:リポジトリを追加

外部のリポジトリを追加する場合は、config/archives/your-repository.list.chrootconfig/archives/your-repository.list.binaryファイルを作成します。

中身はこんな感じ(etc/apt/sources.list.dに入れるものと同じ):

deb amd64 http://packages.microsoft.com/repos/code stable main

また、GPG鍵が必要な場合は同じディレクトリにconfig/archives/your-repository.key.chroot(binaryも同様)として追加します。

設定ファイル

もちろんこのままだとカスタマイズしたとは言えません。

そのため、/etc/skel/usr/share/...などのディレクトリを手動で追加してやる必要があります。(スクリプトを作れば多少自動化できると思いますが、自分には技術が足らんよ…)

例えばLiveCDに/boot/grub/themesというディレクトリを追加しようと思ったら、config/includes.chroot/boot/grub/themesを作成する必要があります。

必要なコンフィグやテーマ等をconfig/includes.chrootに移し終えたら完了です。

ビルド

ビルドは一回コマンドを実行するだけです。

$ sudo lb build

正常に終わるとlive-image-amd64.hybrid.isoが吐き出されます。

再ビルド

再ビルドするときは、以下のようにします。

$ sudo lb clean --binary
$ lb config
$ sudo lb build

binaryオプションを付けると、パッケージのキャッシュを削除しないので、再ビルドの時間が多少短くて済みます。(config/includes.chrootを変更した場合はキャッシュを削除する必要があるので、binaryオプションはつけません。)

問題

Debian Installerが正常に作成できない

Live BuildにはDebianが用意しているDebian Installerというインストーラーを入れることができるのですが、どうにもudebのダウンロードで問題が発生します。何時間か悩みましたが、結局原因が分からなかったのでCalamaresを使用しました。

CalamaresをLive CDで使えるようにする

Debianが公式に公開しているCalamaresの設定があるので、それを参考に作成しました。

https://salsa.debian.org/live-team/calamares-settings-debian

バージョンが違う

なぜかdistributionの設定をしただけだとうまく行かなかった気がします。config/commonconfig/bootstrapを見るとbookwormを指定したはずなのにbusterになっている箇所があったので、直したらうまくできました。

Grubのテーマを変えたい

/etc/default/grubを編集し、/boot/grub/themesにテーマを入れ、desktop-baseのパッケージを使わないようにしたらできました。

最後に

Live BuildでISOをビルドする方法などを詳細に書いてある記事が少なく、調べるのに苦労しました。

VCLinux Beta2は2月25日にリリース予定ですので、暫しお待ちください。

参考

https://live-team.pages.debian.net/live-manual/html/live-manual/toc.ja.html

http://yakushi.shinshu-u.ac.jp/debian-live/osc2013fukuoka-debian-live.pdf

https://qiita.com/homelith/items/f30a1fbac89dc977c1ff