Quantcast
Channel: bogamp’s blog
Viewing all articles
Browse latest Browse all 39

Debian live-buildを用いたカスタムlive USBの作成②

$
0
0

bogamp.hatenablog.com
上の記事の続き。マニュアルを読んだり、いろいろ試したりして分かったことを書いていく。

ブートローダ

デフォルトでも問題ないが、live-buildのインストール時に/usr/share/live/build/bootloaders/にテンプレートがダウンロードされているので、こだわりがなければ、これをそのまま丸々config/bootloaders/にコピーして使うと良い(起動時の見栄えが少し良くなる)。
マニュアルだとブートローダにはデフォルトでsyslinuxが使われると書かれているが、これは情報がやや古いようで、syslinux(BIOS用)、grub2(UEFI用)の両方がインストールされる。
config/bootloaders/grub-pc/config.cfgconfig/bootloaders/grub-pc/grub.cfgを編集することで設定の変更ができる。たとえば、GRUB2のタイムアウト時間を5秒にしたいなら、config/bootloaders/grub-pc/config.cfgの最後の行にset timeout=5を付け足す。

auto(自動化スクリプト)

auto/の下にスクリプトを置いておくと、lb configsudo lb buildsudo lb cleanの実行時に自動的に呼び出される。
/usr/share/doc/live-build/examples/auto/にテンプレートが用意されているので、auto/にコピーして使うことができる。
基本的に、auto/buildauto/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-configcat /var/log/live/config.logでログも確認できる。

インストーラの収録

lb configコマンドの実行時、--debian-installerオプションを使用することで、liveイメージにDebianインストーラを収録することができる(デフォルトでは収録できない)。収録すると、ブートローダの選択画面からインストーラを起動できるようになる。
--debian-installer trueとすると、通常のDebianインストーラになる(普通にHDDやSSDDebianをインストールするときに使うものと同じ)。
--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(ソース)

続き

bogamp.hatenablog.com

Viewing all articles
Browse latest Browse all 39

Trending Articles