4.3. 設定ファイルでサポートされているイメージのカスタマイズ
TOML または JSON 形式のビルド設定ファイルを使用して、作成するディスクイメージにカスタマイズを追加できます。
コンテナー内のディレクトリーでは、設定ファイルが /config.toml にマッピングされます。カスタマイズオブジェクトにより、イメージの変更を定義します。また、ビルド設定ファイルを config.json または config.toml として /usr/lib/bootc-image-builder ディレクトリーに埋め込むこともできます。デフォルトでは、システムはこのディレクトリーにあるファイルシステムまたはディスクのカスタマイズを自動的に使用します。別のカスタマイズを明示的に指定すると、この動作をオーバーライドできます。
JSON 形式の場合、--config 引数を使用するときに stdin を使用して設定を渡すこともできます。
- ユーザーのカスタマイズ
ディスクイメージにユーザーを追加し、必要に応じて SSH 鍵を設定します。このセクションのフィールドは、
nameを除いてすべてオプションです。Expand TOML JSON [[customizations.user]] name = "user" password = "password" key = "ssh-rsa AAA ... user@email.com" groups = ["wheel"]{ "customizations": { "user": [ { "name": "user", "password": "password", "key": "ssh-rsa AAA ... user@email.com", "groups": [ "wheel", "admins" ] } ] } }- カーネルの設定
設定ファイルでカーネルブートパラメーターをカスタマイズできます。
Expand TOML JSON [customizations.kernel] name = "kernel-debug" append = "nosmt=force"{ "customizations": { "kernel": { "append": "mitigations=auto,nosmt" } } }- ファイルシステムの設定
カスタマイズのファイルシステムセクションを使用して、
/や/bootなどのベースパーティションの最小サイズを設定したり、/varの下にマウントポイントを持つ追加のパーティションを作成したりできます。Expand TOML JSON [[customizations.filesystem]] mountpoint = "/" minsize = "10 GiB" [[customizations.filesystem]] mountpoint = "/var/data" minsize = "20 GiB"{ "customizations": { "filesystem": [ { "mountpoint": "/", "minsize": "10 GiB" }, { "mountpoint": "/var/data", "minsize": "20 GiB" } ] } }- ファイルシステムタイプと rootfs の相互作用
ルートファイルシステムタイプ (
--rootfs) 引数は、ソースコンテナーのデフォルト値をオーバーライドします。また、ext4、xfs、およびbtrfsタイプのすべての追加マウントポイントのファイルシステムタイプも設定します。サポートされているマウントポイントとサイズには、
rootfsがbtrfsでない限り、次の制限とルールが適用されます。-
/を指定すると、ルートファイルシステムの最小サイズを設定できます。起動したシステムの/sysrootにマウントされるファイルシステムの最終的なサイズは、この設定で指定した値、またはベースコンテナーのサイズを 2 倍にした値のうち、どちらか大きい方になります。 -
/bootを指定すると、ブートパーティションの最小サイズを設定できます。/varのサブディレクトリーも指定できますが、/var内のシンボリックリンクは指定できません。たとえば、/var/homeと/var/runはシンボリックリンクであり、それ自体ではファイルシステムにはなりません。 -
/var自体はマウントポイントにはなりません。rootfsオプションは、ルートファイルシステムのファイルシステムタイプを定義します。 -
現在、ビルド時に
btrfsサブボリュームを作成することはサポートされていません。したがって、rootfsがbtrfsの場合、/var配下にカスタムマウントポイントを作成することはサポートされていません。/と/bootのみを設定できます。
-
- Anaconda ISO (インストーラー) の設定オプション
任意のインストールコマンドを含むキックスタートファイルを作成します。その後、ISO ビルドにキックスタートファイルを追加して、フルカスタマイズおよび自動化されたインストールメディアを作成します。
注記[customizations.user]と[customizations.installer.kickstart]を組み合わせたカスタマイズはサポートされていません。キックスタートを追加するときは、TOML形式の設定ファイルを使用してください。複数行の文字列ではエラーが発生しやすいためです。Expand TOML JSON [customizations.installer.kickstart] contents = """ text --non-interactive zerombr clearpart --all --initlabel --disklabel=gpt autopart --noswap --type=lvm network --bootproto=dhcp --device=link --activate --onboot=on """{ "customizations": { "installer": { "kickstart": { "contents": "text --non-interactive\nzerombr\nclearpart --all --initlabel --disklabel=gpt\nautopart --noswap --type=lvm\nnetwork --bootproto=dhcp --device=link --activate --onboot=on" } } } }警告bootc-image-builderは、システムがコンテナーイメージに自動的に追加するコマンド以外に、キックスタートコマンドを追加することはありません。詳細は、キックスタートファイルの作成 を参照してください。