bogamp.hatenablog.com
上の記事の続き。マニュアルを読んだり、いろいろ試したりして分かったことを書いていく。
ブートローダ
デフォルトでも問題ないが、live-buildのインストール時に/usr/share/live/build/bootloaders/
にテンプレートがダウンロードされているので、こだわりがなければ、これをそのまま丸々config/bootloaders/
にコピーして使うと良い(起動時の見栄えが少し良くなる)。マニュアルだとブートローダにはデフォルトでsyslinuxが使われると書かれているが、これは情報がやや古いようで、syslinux(BIOS用)、grub2(UEFI用)の両方がインストールされる。
config/bootloaders/grub-pc/config.cfg
やconfig/bootloaders/grub-pc/grub.cfg
を編集することで設定の変更ができる。たとえば、GRUB2のタイムアウト時間を5秒にしたいなら、config/bootloaders/grub-pc/config.cfg
の最後の行にset timeout=5
を付け足す。auto(自動化スクリプト)
auto/
の下にスクリプトを置いておくと、lb config
、sudo lb build
、sudo lb clean
の実行時に自動的に呼び出される。/usr/share/doc/live-build/examples/auto/
にテンプレートが用意されているので、auto/
にコピーして使うことができる。基本的に、
auto/build
とauto/clean
はテンプレートそのままで問題なく、編集するのはauto/config
のみで良い。auto/config
(テンプレートのまま)#!/bin/shset-e lb config noauto \"${@}"
毎回使うオプションはここに書いておけば、試行錯誤するときに少し楽になる。auto/config
(編集後)
#!/bin/shset-e lb config noauto \--clean\--ignore-system-defaults\--debian-installer live \--distribution bookworm \--architecture amd64 \--archive-areas"main contrib non-free non-free-firmware"\--bootappend-live"boot=live components locales=ja_JP.UTF-8 keyboard-layouts=jp""${@}"
ブート時フック
ブート時にスクリプトを実行させることもできる。config/includes.chroot_after_packages/lib/live/config/
にスクリプトを置いてビルドすれば、/lib/live/config/
(ブート時に実行するスクリプトの置き場)にスクリプトが配置されるため、ブート時に自動的に実行される。ただし、このディレクトリはシステム初期化に使われるスクリプトの置き場であることに注意する必要がある。デフォルトではこのリンクにあるスクリプトが
/lib/live/config/
に配置され、ブート時に実行される(試しにビルド・ブートしてみれば分かる)。実行順序に注意してファイル名をつけること。このあたりは、ブート後に
sudo journalctl -u live-config
やcat /var/log/live/config.log
でログも確認できる。インストーラの収録
lb config
コマンドの実行時、--debian-installer
オプションを使用することで、liveイメージにDebianのインストーラを収録することができる(デフォルトでは収録できない)。収録すると、ブートローダの選択画面からインストーラを起動できるようになる。--debian-installer true
とすると、通常のDebianインストーラになる(普通にHDDやSSDにDebianをインストールするときに使うものと同じ)。--debian-installer live
と指定すると、収録されるインストーラは、通常と違ってlive システムを対象のディスクにインストールする。また、debian-installer-launcherパッケージをインストールすると、liveシステムの起動後でもデスクトップからインストーラを起動できる。
また、pressedを利用したインストーラのカスタムもできる(参考リンク:付録B preseed を利用したインストールの自動化)…らしいが、ここはまだ試せていない。
参考リンク
・https://live-team.pages.debian.net/live-manual/html/live-manual/toc.ja.html(マニュアル)・https://manpages.debian.org/bookworm/live-build/(man)
・https://manpages.debian.org/bookworm/live-config-doc/(man)
・https://salsa.debian.org/live-team(ソース)