This module manages GRUB 2 bootloader (Hiera & EFI)
- Ubuntu
- Debian
- Red Hat
- CentOS
- Gentoo
- SLES / OpenSuse
- Arch Linux
This module has the following dependencies:
- Specify a path to a background image
- STRING : Empty by default
- Define some memory addresses for BadRAM filtering
- STRING : Empty by default
- Template used for GRUB config file
- STRING : 'grub2/default_grub.erb'
- Arguments passed to the kernel
- STRING : Empty by default
- Arguments passed to the kernel
- STRING : 'quiet'
- Arguments passed to the kernel
- STRING : Empty by default
- Arguments passed to Xen
- STRING : Empty by default
- Define on which kernel the system will boot
- STRING : '0'
- Define on which hard drive the MBR will be write
- ARRAY : Empty by default
- Define if GRUB should use the UUID in the root= path
- BOOL : false
- Define if GRUB should add the results of os-prober to the menu
- BOOL : false
- Define if GRUB should display the recovery entry in the menu
- BOOL : false
- Define if GRUB should display the submenu
- BOOL : false
- Define if GRUB should check for encrypted disks and generate additional commands needed to access them during boot
- BOOL : false
- Define if BootLoaderSpec configuration should be used
- BOOL : false
- Define which resolution should be used if VBE is used
- STRING : Empty by default
hidden_timeout
- Define how long (in seconds) grub should wait for a user to enter the menu
- STRING : Not present in config file by default
hidden_timeout_quiet
- Define if the hidden timeout is quiet or not
- BOOL : false
- Path to GRUB installation command
- ABSOLUTE_PATH : Value depends on Linux distribution
- Path to GRUB configuration file update command
- ABSOLUTE_PATH : Value depends on Linux distribution
- Install the GRUB packages and install GRUB in the MBR
- BOOL : false
- Puppet stuff, define in which state should be the GRUB packages
- STRING : 'present'
- Enable password to protect the GRUB configuration
- BOOL : false
- Set the username that will be able to edit the GRUB configuration
- STRING : Empty by default
- Set PBKDF2 password hash generated via grub-mkpasswd-pbkdf2 or grub2-mkpasswd-pbkdf2 commands
- STRING : Empty by default
- Preload additional modules
- STRING : Empty by default
- Set default timeout value for GRUB2. Useful to stop headless machines stalling during boot.
- INTEGER : 5
- If true, the last selected entry will become the new default one GRUB_DEFAULT should be set to "saved" and not to 0
- BOOL : false
- Set settings for the serial console
- STRING : Empty by default
- Whether the root disk is a btrfs snapshot or not
- BOOL : false
- Define on which terminal the ouput should be display
- STRING : Empty by default
- Define how long (in seconds) that the menu should appear
- INTEGER : 5
- Define what to display while waiting for timeout to expire
- STRING : 'countdown'
- Define if GRUB should make a beep when he starts
- STRING : Empty by default
- Regenerate the GRUB configuration after updates
- BOOL : true
class { 'grub2':
update_grub => false,
install_grub => false,
cmdline_linux_default => 'quiet crashkernel=256M nmi_watchdog=0 console=tty0 console=ttyS1,115200n8',
terminal => 'serial console',
default_entry => 0,
timeout => 5,
serial_command => 'serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1',
disable_uuid => true,
disable_recovery => true,
tune => '480 440 1',
device_install => ['/dev/sda'],
hidden_timeout => 0,
hidden_timeout_quiet => false,
recordfail_timeout => 5,
password => true,
password_username => 'chewbacca',
password_pbkdf2_hash => 'grub.pbkdf2.sha512.10000.EDBE1B820072D36A7B0059C7C33A2AA8B9D60888B0A44E7A566CB92E35F16A0F20770E79FB2E283680715ED916498D59B72F02599B461E4A087704E5E8A2A92D.911F2E7867A16DE76C170AD6E1C14D3F0AE2B7E1B58D1D967F98CEC9F2C2EAF7397ADE15CFB661CA94F6B7963A9C98BEFFB3026A4285FC04DB9F4118BDA39D58',
}This module also supports the configuration of the parameters it exposes
using Hiera. You can do this by namespacing around grub2. For instance, to
set the value of timeout to 10, you would use something like that in
your Hiera files:
grub2::timeout: 10Module will now take into account whether a system has booted with BIOS or with (U)EFI
and will then place the grub.cfg file in the correct directory.
The efi fact represents whether a system has booted with EFI or BIOS and returns a boolean; true or false depending on the system.