雑記帳 →

Debian Live Buildの使い方

Software

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

この記事では、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.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の設定があるので、それを参考に作成しました。

Debian Live Team / calamares-settings-debian · GitLab
Calamares setting that can be used for Debian live images, also acts as an example for derivatives who use the Calamares installer.
Debian Live Team / calamares-settings-debian · GitLab favicon salsa.debian.org
Debian Live Team / calamares-settings-debian · GitLab

バージョンが違う

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

Grubのテーマを変えたい

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

最後に

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

参考

Debian Live Manual

    Debian Live Manual
   favicon live-team.pages.debian.net
yakushi.shinshu-u.ac.jp
yakushi.shinshu-u.ac.jp favicon yakushi.shinshu-u.ac.jp
Debian Live で FPGA 開発ツール入りの live boot 環境を作る - Qiita
武蔵野 Advent Calendar 2018 3日目 の記事です。ストーリーFPGA コンフィグのコンパイル(論理合成・配置配線)には強いマシンが欲しい。出先で借りれるものなら借りたい。…
Debian Live で FPGA 開発ツール入りの live boot 環境を作る - Qiita favicon qiita.com
Debian Live で FPGA 開発ツール入りの live boot 環境を作る - Qiita
カテゴリー

/

Software
profile icon

wamo

シンプルなものが好きです。

アーカイブ

カテゴリー

寄付

時間のないサイト運営者リング