46 Edge Image Builder (EIB)のトラブルシューティング #
EIBは、カスタムSUSE Edgeイメージを作成するために使用されます。
間違ったSCCコード: EIB定義ファイルに使用されているSCCコードがSL Microのバージョンとアーキテクチャに一致していることを確認します。
依存関係がない: 構築環境内に不足しているパッケージやツールがないか確認します。
不正なイメージサイズ: RAWイメージの場合、
diskSize
パラメータが必要であり、イメージ、RPM、およびイメージに含まれている他のアーティファクトに大きく依存します。許可: custom/filesディレクトリにスクリプトを保存する場合、スクリプトに実行許可があることを確認します。これらのファイルはCombustion時にのみ利用可能であり、EIBによって変更は実行されないためです。
オペレーティングシステムグループの依存関係: カスタムユーザとグループを使用してイメージを作成する場合、「
primaryGroup
」として設定されるグループを明示的に作成する必要があります。オペレーティングシステムユーザのsshkeysにはホームフォルダが必要: sshkeysを持つユーザでイメージを作成する場合、
createHomeDir=true
を指定してホームフォルダも作成する必要があります。Combustionの問題: EIBは、OSのカスタマイズおよびその他のすべてのSUSE Edgeコンポーネントのデプロイメントに対してCombustionに依存しています。これには、custom/scriptsフォルダに配置されるカスタムスクリプトも含まれます。Combustionプロセスは
initrd
時に実行されるため、スクリプト実行時にシステムが完全に起動していないことに注意してください。Podmanマシンサイズ: EIBの「ヒントとコツ」セクション(パートIV「ヒントとコツ」)で説明されているように、Linux以外のオペレーティングシステムでEIBコンテナを実行するための十分なCPU/メモリがPodmanマシンにあることを確認します。
EIB出力:
eib build
コマンドのコンソール出力は重要です。構築コンテナのログ: 構築コンテナのログを確認します。ログは、アーティファクトを保存するために使用されたディレクトリに生成されます。必要な情報については
dockerログ
またはpodmanログ
も確認してください。一時的な構築ディレクトリ: EIBは構築プロセス中に一時ディレクトリを作成します。メイン出力が不十分な場合は、これらのディレクトリで中間ログやアーティファクトを確認します。
Combustionログ: EIBで構築されているイメージが何らかの理由で起動しない場合、 ルートシェルを利用できます。ホストコンソールに(物理的に、またはBMC経由などで)接続し、
journalctl -u burning
でCombustionログを確認し、通常はjournalctl
ですべてのオペレーティングシステムログを確認して、失敗の根本原因を特定します。
eib-build
出力の確認: コンソール出力のエラーメッセージは通常、非常にわかりやすいです。構築環境の確認: EIBを実行しているマシンで、EIB自体のすべての前提条件(docker/podman、十分なディスク容量など)が満たされていることを確認します。
構築コンテナログの検査: 失敗したコンテナのログで詳細なエラーについて確認します(上記参照)。
eib
設定の確認:eib
設定ファイルにタイポがないか、ソースファイルや構築スクリプトへのパスが間違っていないか、再確認します。コンポーネントの個別テスト: EIBビルドにカスタムスクリプトやステージが含まれている場合は、個別に実行して失敗を特定します。