とある理由で、カスタムLiveイメージが作りたくなりました。
で、ぐぐって比較的最近の情報として検索できたのが、こちら。
https://tech.quickguard.jp/posts/debian-live-cd
まずは、こちらの内容に沿って、Liveイメージを作ってみます。
1.母艦環境の準備
まず、KVM上に母艦のDebian12をインストールします。なにも難しいところはありませんが、デフォルトのGUI環境に加えて、OpenSSH Serverをインストールしておきます。
加えて、/etc/group の sudo のエントリに自分のアカウントを加えて、再ログインして sudo が使えるようにしておきます。
そこへ、
$ sudo apt-get install live-build
でlive-buildパッケージをインストールしておきます。
2.早速、Liveイメージを作る
まずは何もカスタマイズせずにLiveイメージを作ってみます。
$ mkdir ./work
$ cd ./work/
初期化します。
$ lb config \
--distribution 'bookworm' \
--archive-areas 'main non-free non-free-firmware contrib' \
--bootappend-live 'boot=live components keyboard-layouts=jp'
参考にしたページでは quiet splash も付けていますが、splashはスプラッシュ・スクリーンを準備しないといけないこと、quietは起動過程が見えなくなることから外しています。
GRUBの設定ファイルを追加
$ mkdir ./config/bootloaders/grub-pc
$ {
cat /usr/share/live/build/bootloaders/grub-pc/config.cfg;
echo 'set timeout_style=menu';
echo 'set timeout=5';
} > ./config/bootloaders/grub-pc/config.cfg
ISOLINUXの設定ファイルを追加
$ mkdir ./config/bootloaders/isolinux
$ cat /usr/share/live/build/bootloaders/isolinux/isolinux.cfg \
| sed -E 's/^timeout 0/timeout 50/' \
> ./config/bootloaders/isolinux/isolinux.cfg
参考にしたページでは、OpenSSH Serverをインストールしたりしていますが、ここではまずビルドできることを確認するので飛ばします。
あとはビルドしてみます。
$ sudo lb build
完了したら、母艦から scp でISOイメージを引っこ抜きます。
$ scp username@debian12.local:~/work/*.iso .
username@debian12.local's password:
live-image-amd64.hybrid.iso 100% 615MB 532.8MB/s 00:01
引っこ抜いたISOイメージをKVMで別の仮想マシンを作って起動します。
起動すると、いかのような感じで自動ログインされた状態まで行きました。
とりあえず、最低限の確認はできました。
・・・が、GUIのLIVE環境は道のりが遠いかも・・・。