この記事に書かれている内容は不正確であり、記事の通りにやっても正常にビルドできない可能性があります。
この記事では、Live Buildの一部についてしか触れません。より詳しく知りたい方はこちらを見ることをお勧めします。
Debianには公式が提供しているDebian Live BuildというLiveCDを作成するためのツールがあります。
Beta2ではそれを使用してISOを作成しました。この記事はその備忘録です。
目次
インストール
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.chroot
とconfig/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/common
かconfig/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
Debian bookwarmを使用して,Swayをメインデスクトップにしたオレオレ環境を構築する方法を考えています.
Live Buildを使って作成したLive ImageからCalamaresを使って導入できるようにしようと検討しています.
参考までにVCLinuxにおけるCalamaresの設定を勉強がてら参考にしたいのですが,GitHubなどにアップされたりしていないでしょうか?
ここにVCLinuxのLive Buildコンフィグを置いています。includes.chroot/usr/share/calamaresにCalamaresの設定がありますので、そちらを参考にしてみてください。
https://git.vcborn.com/vcborn/vclinux-live
ありがとう.助かります.
Live Imageに組み込みたい設定ファイルは事前にincludes.chroot以下に配置しておかないといけないようですね.