Debian Live Buildの使い方

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

    この記事では、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のパッケージをダウンロードします。このライブラリも必要なのでダウンロードします。

    これらを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/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

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

    アバター

    著者:wamo

    記事一覧

    ウェブ開発とか翻訳とかやってる人。

    コメントを書く

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    日本語が含まれない投稿は無視されますのでご注意ください。