linux-system-roles.bootloader
ブートローダー
ブートローダーとカーネルコマンドラインの管理のためのAnsibleロールです。
サポートされているアーキテクチャ
このロールは現在、以下のアーキテクチャで動作する grub2
ブートローダーの設定をサポートしています:
- AMDおよびIntelの64ビットアーキテクチャ (x86-64)
- 64ビットARMアーキテクチャ (ARMv8.0)
- IBM Power Systems、リトルエンディアン (POWER9)
要件
以下を参照してください
コレクション要件
ostree
システムを管理しない場合、このロールに要件はありません。
ostree
システムを管理する場合、追加のモジュールが外部コレクションから必要です。以下のコマンドを使用してインストールしてください:
ansible-galaxy collection install -vv -r meta/collection-requirements.yml
ロール変数
bootloader_gather_facts
すべてのカーネルのブート情報を含む bootloader_facts を収集するかどうかを指定します。
デフォルト: false
タイプ: bool
bootloader_settings
この変数を使用して、設定したいカーネルとそのコマンドラインパラメータをリストします。
必要なキー:
kernel
- これを使って、設定を更新したいカーネルを指定します。 各リストで同じカーネルを一つまたは複数のキーを使って指定する必要があります。カーネルを追加したい場合は、3つのキー -
path
、title
、initrd
を指定する必要があります。カーネルを変更または削除したい場合は、一つ以上のキーを指定できます。
また、
DEFAULT
またはALL
を指定してデフォルトまたはすべてのカーネルを更新できます。利用可能なキー:
path
- カーネルパスindex
- カーネルインデックスtitle
- カーネルタイトルinitrd
- カーネル初期RAMディスクイメージ
利用可能な文字列:
DEFAULT
- デフォルトエントリを更新するためALL
- すべてのエントリを更新するため
state
- カーネルの状態。利用可能な値:
present
、absent
デフォルト:
present
options
- 更新したい設定を指定します。name
- 設定の名前。name
はreplaced
を使用する場合は省略されます。value
- 設定の値。値が不要な場合はvalue
を省略する必要があります(例:quiet
)。state
-present
(デフォルト)またはabsent
。absent
の場合、name
名の設定を削除します - 名前は提供する必要があります。previous
- オプション - 値はreplaced
のみ - これは以前の設定を新しい設定に置き換えることを指定します。copy_default
- オプション - カーネルを作成する際には、copy_default: true
を指定してデフォルトの引数をコピーできます。
例については、Example Playbookを参照してください。
デフォルト: {}
タイプ: dict
bootloader_timeout
この変数を使用して、GRUBブートローダーの読み込み時間をカスタマイズできます。
デフォルト: 5
タイプ: int
bootloader_password
この変数を使用して、ブートパラメータをパスワードで保護できます。
警告: ブートローダーパスワードの変更は冪等ではありません。
ブートローダーのユーザー名は常に root
です。
これはボールトから取得する必要があります。
設定されていない場合、現在の設定は変更されません。
デフォルト: null
タイプ: string
bootloader_remove_password
この変数を true
に設定することで、ブートローダーパスワードを削除できます。
デフォルト: false
タイプ: bool
bootloader_reboot_ok
true
の場合、ロールが変更が行われたと判断し、再起動が必要な場合、管理対象ホストを再起動します。
false
の場合、管理対象ホストを再起動するタイミングはユーザーが判断します。
ロールは bootloader_reboot_required
変数(下記参照)を true
の値で返し、再起動が必要な変更が行われたことを示します。
デフォルト: false
タイプ: bool
ロールによって外部に公開される変数
ロールは以下の変数を公開します:
bootloader_reboot_needed
デフォルト false
- true
の場合、ロールによって行われた変更を適用するために再起動が必要であることを意味します。
bootloader_facts
すべてのカーネルのブート情報を含みます。
このロールは、bootloader_gather_facts: true
を設定した場合にこの変数を返します。
例えば:
"bootloader_facts": [
{
"args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet",
"id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet",
"index": "3",
"initrd": "/boot/initramfs-0-rescue-c44543d15b2c4e898912c2497f734e67.img",
"kernel": "/boot/vmlinuz-0-rescue-c44543d15b2c4e898912c2497f734e67",
"root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
"title": "Fedora Linux (0-rescue-c44543d15b2c4e898912c2497f734e67) 36 (Workstation Edition)",
"default": True
},
{
"args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"index": "2",
"initrd": "/boot/initramfs-6.3.12-100.fc37.x86_64.img $tuned_initrd",
"kernel": "/boot/vmlinuz-6.3.12-100.fc37.x86_64",
"root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
"title": "Fedora Linux (6.3.12-100.fc37.x86_64) 37 (Workstation Edition)",
"default": False
},
{
"args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"index": "1",
"initrd": "/boot/initramfs-6.4.15-100.fc37.x86_64.img $tuned_initrd",
"kernel": "/boot/vmlinuz-6.4.15-100.fc37.x86_64",
"root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
"title": "Fedora Linux (6.4.15-100.fc37.x86_64) 37 (Workstation Edition)",
"default": False
},
{
"args": "ro rootflags=subvol=root rd.luks.uuid=luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"id": "luks-9da1fdf5-14ac-49fd-a388-8b1ee48f3df1 rhgb quiet $tuned_params",
"index": "0",
"initrd": "/boot/initramfs-6.5.7-100.fc37.x86_64.img $tuned_initrd",
"kernel": "/boot/vmlinuz-6.5.7-100.fc37.x86_64",
"root": "UUID=65c70529-e9ad-4778-9001-18fe8c525285",
"title": "Fedora Linux (6.5.7-100.fc37.x86_64) 37 (Workstation Edition)",
"default": False
}
]
例としてのプレイブック
- hosts: all
vars:
bootloader_settings:
# 既存のカーネルをパスを使用して更新し、前の設定を置き換えます
- kernel:
path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
options:
- name: console
value: tty0
state: present
- previous: replaced
# インデックスを使用して既存のカーネルを更新します
- kernel:
index: 1
options:
- name: print-fatal-signals
value: 1
# タイトルを使用して既存のカーネルを更新します
- kernel:
title: Red Hat Enterprise Linux (4.1.1.1.el8.x86_64) 8
options:
- name: no_timer_check
state: present
# 引数付きのカーネルを追加します
- kernel:
path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
title: My kernel
options:
- name: console
value: tty0
- name: print-fatal-signals
value: 1
- name: no_timer_check
state: present
state: present
# 引数付きのカーネルを追加し、デフォルト引数をコピーします
- kernel:
path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
title: My kernel
options:
- name: console
value: tty0
- copy_default: true
state: present
# カーネルを削除します
- kernel:
title: My kernel
state: absent
# すべてのカーネルを更新します
- kernel: ALL
options:
- name: debug
state: present
# デフォルトカーネルを更新します
- kernel: DEFAULT
options:
- name: quiet
state: present
bootloader_timeout: 5
bootloader_password: null
bootloader_remove_password: false
bootloader_reboot_ok: true
roles:
- linux-system-roles.bootloader
rpm-ostree
README-ostree.mdを参照してください。
ライセンス
MIT