linux-system-roles.bootloader

Bootloader

ansible-lint.yml ansible-test.yml codeql.yml markdownlint.yml python-unit-test.yml tft.yml tft_citest_bad.yml woke.yml

Ein Ansible-Rollenmodul zur Verwaltung von Bootloader und Kernel-Befehlszeilen.

Unterstützte Architekturen

Diese Rolle unterstützt derzeit die Konfiguration des grub2 Bootloaders, der auf folgenden Architekturen läuft:

  • AMD- und Intel 64-Bit-Architekturen (x86-64)
  • Die 64-Bit ARM-Architektur (ARMv8.0)
  • IBM Power Systems, Little Endian (POWER9)

Anforderungen

Siehe unten

Sammlungsanforderungen

Wenn Sie keine ostree Systeme verwalten möchten, hat die Rolle keine Anforderungen.

Wenn Sie ostree Systeme verwalten möchten, benötigt die Rolle zusätzliche Module aus externen Sammlungen. Bitte verwenden Sie den folgenden Befehl, um sie zu installieren:

ansible-galaxy collection install -vv -r meta/collection-requirements.yml

Rollenvariablen

bootloader_gather_facts

Ob Bootloader-Fakten gesammelt werden sollen, die Informationen zu allen Kernen enthalten.

Standard: false

Typ: bool

bootloader_settings

Mit dieser Variable können Sie Listen von Kernen und ihren Befehlszeilenparametern angeben, die Sie setzen möchten.

Erforderliche Schlüssel:

  1. kernel - damit können Sie den Kernel angeben, für den Sie die Einstellungen aktualisieren möchten. Jede Liste sollte denselben Kernel mit einem oder mehreren Schlüsseln angeben.

    Wenn Sie einen Kernel hinzufügen möchten, müssen Sie drei Schlüssel angeben - path, title, initrd.

    Wenn Sie einen Kernel ändern oder entfernen möchten, können Sie einen oder mehrere Schlüssel angeben.

    Sie können auch DEFAULT oder ALL angeben, um den Standard- oder alle Kerne zu aktualisieren.

    Verfügbare Schlüssel:

    • path - Kernel-Pfad
    • index - Kernel-Index
    • title - Kernel-Titel
    • initrd - Kernel-Initrd-Bild

    Verfügbare Strings:

    • DEFAULT - um den Standard-Eintrag zu aktualisieren
    • ALL - um alle Einträge zu aktualisieren
  2. state - Zustand des Kerns.

    Verfügbare Werte: present, absent

    Standard: present

  3. options - mit dieser Option können Sie Einstellungen angeben, die aktualisiert werden sollen.

    • name - Der Name der Einstellung. name wird weggelassen, wenn replaced verwendet wird.
    • value - Der Wert für die Einstellung. Sie müssen value weglassen, wenn die Einstellung keinen Wert hat, z.B. quiet.
    • state - present (Standard) oder absent. Der Wert absent bedeutet, dass eine Einstellung mit dem Namen name entfernt werden soll - der Name muss angegeben werden.
    • previous - Optional - der einzige Wert ist replaced - dies wird verwendet, um anzugeben, dass die vorherigen Einstellungen durch die angegebenen Einstellungen ersetzt werden sollen.
    • copy_default - Optional - wenn Sie einen Kernel erstellen, können Sie copy_default: true angeben, um die Standardargumente in den erstellten Kernel zu kopieren.

Für ein Beispiel siehe Beispiel-Playbook.

Standard: {}

Typ: dict

bootloader_timeout

Mit dieser Variable können Sie die Ladezeit des GRUB-Bootloaders anpassen.

Standard: 5

Typ: int

bootloader_password

Mit dieser Variable können Sie Bootparameter mit einem Passwort schützen.

WARNUNG: Das Ändern des Bootloader-Passworts ist nicht idempotent.

Der Benutzername des Bootloaders ist immer root.

Dies sollte aus dem Vault kommen.

Wenn nicht gesetzt, wird die aktuelle Konfiguration nicht angefasst.

Standard: null

Typ: string

bootloader_remove_password

Durch Setzen dieser Variable auf true können Sie das Bootloader-Passwort entfernen.

Standard: false

Typ: bool

bootloader_reboot_ok

Wenn true, und die Rolle erkennt, dass etwas geändert wurde, was einen Neustart zur Wirkung benötigt, wird der verwaltete Host neu gestartet.

Wenn false, liegt es an Ihnen zu bestimmen, wann Sie den verwalteten Host neu starten.

Die Rolle gibt die Variable bootloader_reboot_required (siehe unten) mit dem Wert true zurück, um anzuzeigen, dass eine Änderung vorgenommen wurde, die einen Neustart erfordert.

Standard: false

Typ: bool

Vom Modul exportierte Variablen

Das Modul exportiert die folgenden Variablen:

bootloader_reboot_needed

Standard false - wenn true, bedeutet dies, dass ein Neustart erforderlich ist, um die Änderungen anzuwenden, die durch das Modul vorgenommen wurden.

bootloader_facts

Enthält Bootinformationen für alle Kerne.

Das Modul gibt diese Variable zurück, wenn Sie bootloader_gather_facts: true setzen.

Zum Beispiel:

"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
    }
]

Beispiel Playbook

- hosts: all
  vars:
    bootloader_settings:
      # Einen bestehenden Kernel mit Pfad aktualisieren und vorherige Einstellungen ersetzen
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
        options:
          - name: console
            value: tty0
            state: present
          - previous: replaced
      # Einen bestehenden Kernel mit Index aktualisieren
      - kernel:
          index: 1
        options:
          - name: print-fatal-signals
            value: 1
      # Einen bestehenden Kernel mit Titel aktualisieren
      - kernel:
          title: Red Hat Enterprise Linux (4.1.1.1.el8.x86_64) 8
        options:
          - name: no_timer_check
        state: present
      # Einen Kernel mit Argumenten hinzufügen
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Mein Kernel
        options:
          - name: console
            value: tty0
          - name: print-fatal-signals
            value: 1
          - name: no_timer_check
            state: present
        state: present
      # Einen Kernel mit Argumenten und Kopieren der Standardargumente hinzufügen
      - kernel:
          path: /boot/vmlinuz-6.5.7-100.fc37.x86_64
          initrd: /boot/initramfs-6.5.7-100.fc37.x86_64.img
          title: Mein Kernel
        options:
          - name: console
            value: tty0
          - copy_default: true
        state: present
      # Einen Kernel entfernen
      - kernel:
          title: Mein Kernel
        state: absent
      # Alle Kerne aktualisieren
      - kernel: ALL
        options:
          - name: debug
            state: present
      # Den Standard-Kernel aktualisieren
      - 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

Siehe README-ostree.md

Lizenz

MIT

Installieren
ansible-galaxy install linux-system-roles.bootloader
Lizenz
mit
Downloads
82.9k