This Ansible role is designed for configuring UEFI boot settings on various systems. It provides a flexible and automated approach to manage UEFI boot options, ensuring consistency and reliability in boot configurations across your infrastructure.
- Ansible 2.x or higher.
- Appropriate privileges to manage UEFI settings on target machines.
.github
: Contains GitHub-specific configurations and workflows..yamllint
: Yamllint configuration for ensuring YAML best practices.Documentation
: Additional documentation for the role.LICENSE
: The license file for the project.defaults
: Default variables for the role.files
: Static files used by the role.handlers
: Handlers used for triggering actions based on task results.molecule
: Molecule tests for testing the role's functionality.tasks
: Main list of tasks to be executed by the role.templates
: Jinja2 templates used for generating dynamic configurations.vars
: Other variables for the role.ysgd.pre-commit-config.yaml-old
: Legacy pre-commit configuration (if relevant).
The role includes several default variables which can be overridden in your playbook or inventory file. These variables are located in the defaults
directory.
grub_timeout
: The GRUB boot menu timeout. Default is'5'
.grub_distributor
: The GRUB distributor ID. Default is determined by the output of$(sed 's, release .*$,,g' /etc/system-release)
.grub_default
: Default boot entry. Default is'saved'
.grub_disable_submenu
: Whether to disable the GRUB submenu. Default is'true'
.grub_terminal_output
: Output terminal for GRUB. Default isconsole
.grub_cmdline_linux
: Additional kernel parameters. Default includes various parameters likerd.driver.blacklist=nouveau
and others.grub_disable_recovery
: Whether to disable recovery mode. Default is'true'
.grub_enable_blscfg
: Whether to enable the Boot Loader Specification (BLS). Default is'true'
.grub_boot_image
: Path to custom boot image. Default is/boot/grub/boot_image.png
.
To override a variable, specify it in your playbook like this:
vars:
grub_timeout: "10"
- Install the role via Ansible Galaxy or by cloning this repository.
- Customize your role variables located in the
defaults
andvars
directories. - Include the role in your playbook.
Example playbook:
- hosts: all
roles:
- ansible-role-uefi-boot-config
vars:
grub_timeout: "10"
Utilize the provided Molecule tests in the molecule
directory to test the role across different environments and scenarios.
Contributions are welcome. For guidelines on how to contribute to this project, please read the contribution documentation located at Documentation/contribute.md
This project is licensed under the GPL-3.0 License. See the LICENSE
file for more details.
Johan Sörell
- GitHub: J-SirL