おそらく一部の構築エンジニアを除いて、カスタムISOイメージを作成するシチュエーションは
あまり無いと思うが、備忘録として残しておきます。
【対応策】
Rocky Linuxの場合、
livemedia-creator の引数に、--anaconda-arg="--product Rocky Linux" を付け加える
【環境/手順】
参考サイト https://github.com/lunatilia/el8-livemedia-japanese
※ 手順はほぼサイト通りですが、イメージを作成するOSのバージョンでエラー発生。
Rocky Linux 8.4 では、ソフトウェアの選択で「Server(GUI)」では成功。「最小限インストール」や「Server」はエラー発生。
Rocky Linux 8.6, 8.7では、「最小限インストール」や「Server」「Server(GUI)」エラー発生。
エラー内容(抜粋)
-----
エラーメッセージは次のとおりです:
The RHSM DBus API is not available.
インストーラーを終了します。
-----
最初は、イメージ作成専用のサーバーを、Rocky Linux 8.4 ソフトウェアの選択で「Server(GUI)」で構築し、
dnf -y update で、一気に8.7最新まで上げて作っていたが、以下の記事を見つけて試したらエラー回避できた。
https://bugzilla.redhat.com/show_bug.cgi?id=2034601
バグとして報告されているようだが、記事内に以下の発言があった。
「try running livemedia-creator with --anaconda-arg="--product CentOS Linux"」
この発言通りに実行したら、ISOイメージが作成出来て、そのISOイメージを使って、VMware上では起動出来た。
この方法が正しいのかどうかまでは不明。
(1) イメージ作成専用のサーバーを準備する。
・ VMware WorkStatioinで構築
・ Rocky-8.7-x86_64-minimal.iso を利用
キーボード : 日本語
言語サポート: 日本語
時刻と日付 : アジア/東京 タイムゾーン
ソフトウェアの選択: 最小限のインストール
インストール先: 適当に
ただ、イメージ作成で中間ファイル・完成ファイル等で空き容量不足にならない程度。
著者の場合は、仮想ディスク 20GB (SWAP 2GB / で18GB)
※ ホスト名とIPアドレスの設定は、インストール完了後に実施
(2) イメージ作成専用サーバーの諸設定
(2-1) コンソール画面より、
・ IPアドレス設定
・ ホスト名設定
(2-2) OSを最新にしておく。
# dnf -y update
(2-3) selinuxをdisabledに
# vi /etc/sysconfig/selinux
OS再起動する
(3) イメージ作成の為のインストール
# dnf -y install git lorax-lmc-novirt
OS再起動
(4) ISOイメージ作成
# git clone https://github.com/lunatilia/el8-livemedia-japanese
# cd el8-livemedia-japanese
# mv samples/rocky8live-builder .
# vi rocky8live-builder
・ --anaconda-arg="--product Rocky Linux" を付け加える
・ 8.3 -> 8.7 に変更
--- 抜粋 ---
livemedia-creator \
--ks ${kickstart} \
--no-virt \
--iso-only \
--make-iso \
--nomacboot \
--volid RockyLinux-8 \
--iso-name "Rocky-8.7-x86_64-LiveGNOME.iso" \
--title "Rocky Linux Live 8.7 (JP)" \
--project "Rocky Linux Live" \
--releasever "8\.7\ \(JP\)" \
--fs-label "Rocky-8-7-x86_64" \
--extra-boot-args noswap \
--tmp ${temp} \
--resultdir ./${resultdir} \
--logfile ${logdir}/${logfile} \
--anaconda-arg="--product Rocky Linux"
(5) 実行する
# ./rocky8live-builder kickstarts/rocky-8-live-gnome.cfg
今回は、
el8-livemedia-japanese の kickstartファイルを利用しましたが、
kickstartファイルを自分好みに作成すれば良いと思います。