{"id":15687032,"url":"https://github.com/goldyfruit/puppet-grub2","last_synced_at":"2025-09-11T01:36:26.025Z","repository":{"id":14651264,"uuid":"17369343","full_name":"goldyfruit/puppet-grub2","owner":"goldyfruit","description":"Puppet module for managing GRUB2","archived":false,"fork":false,"pushed_at":"2024-04-08T10:56:49.000Z","size":172,"stargazers_count":10,"open_issues_count":0,"forks_count":25,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-08T17:00:33.724Z","etag":null,"topics":["cmdline-linux","grub","grub-default","grub2","hiera","kernel","mbr","puppet","puppet-grub2"],"latest_commit_sha":null,"homepage":"https://forge.puppetlabs.com/goldyfruit/grub2","language":"Puppet","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/goldyfruit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-03-03T15:00:40.000Z","updated_at":"2025-08-06T13:57:10.000Z","dependencies_parsed_at":"2024-04-08T11:52:49.268Z","dependency_job_id":null,"html_url":"https://github.com/goldyfruit/puppet-grub2","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/goldyfruit/puppet-grub2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldyfruit%2Fpuppet-grub2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldyfruit%2Fpuppet-grub2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldyfruit%2Fpuppet-grub2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldyfruit%2Fpuppet-grub2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/goldyfruit","download_url":"https://codeload.github.com/goldyfruit/puppet-grub2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/goldyfruit%2Fpuppet-grub2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274561664,"owners_count":25308349,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmdline-linux","grub","grub-default","grub2","hiera","kernel","mbr","puppet","puppet-grub2"],"created_at":"2024-10-03T17:42:35.824Z","updated_at":"2025-09-11T01:36:26.008Z","avatar_url":"https://github.com/goldyfruit.png","language":"Puppet","funding_links":[],"categories":[],"sub_categories":[],"readme":"# puppet-grub2\n\n[![Build Status](https://travis-ci.org/goldyfruit/puppet-grub2.svg?branch=master)](https://travis-ci.org/goldyfruit/puppet-grub2)\n[![Puppet Forge](http://img.shields.io/puppetforge/v/goldyfruit/grub2.svg)](https://forge.puppetlabs.com/modules/goldyfruit/grub2)\n[![License](http://img.shields.io/:license-apache-blue.svg)](http://www.apache.org/licenses/LICENSE-2.0.html)\n\nThis module manages GRUB 2 bootloader (Hiera \u0026 EFI)\n\n## Supported distributions\n- Ubuntu\n- Debian\n- Red Hat\n- CentOS\n- Gentoo\n- SLES / OpenSuse\n- Arch Linux\n\n## Setup requirements\n\nThis module has the following dependencies:\n\n* [jcpunk-efi](https://forge.puppet.com/modules/jcpunk/efi)\n\n## Parameters\n\n#### background_image\n - Specify a path to a background image\n - **STRING** : *Empty by default*\n\n#### badram\n - Define some memory addresses for BadRAM filtering\n - **STRING** : *Empty by default*\n\n#### config_template\n- Template used for GRUB config file\n- **STRING** : *'grub2/default_grub.erb'*\n\n#### cmdline_linux\n- Arguments passed to the kernel\n- **STRING** : *Empty by default*\n\n#### cmdline_linux_default\n- Arguments passed to the kernel\n- **STRING** : *'quiet'*\n\n#### cmdline_linux_recovery\n- Arguments passed to the kernel\n- **STRING** : *Empty by default*\n\n#### cmdline_xen\n- Arguments passed to Xen\n- **STRING** : *Empty by default*\n\n#### default_entry\n- Define on which kernel the system will boot\n- **STRING** : *'0'*\n\n#### device_install\n- Define on which hard drive the MBR will be write\n- **ARRAY** : *Empty by default*\n\n#### disable_uuid\n- Define if GRUB should use the UUID in the root= path\n- **BOOL** : *false*\n\n#### disable_os_prober\n- Define if GRUB should add the results of os-prober to the menu\n- **BOOL** : *false*\n\n#### disable_recovery\n- Define if GRUB should display the recovery entry in the menu\n- **BOOL** : *false*\n\n#### disable_submenu\n- Define if GRUB should display the submenu\n- **BOOL** : *false*\n\n#### enable_cryptodisk\n- Define if GRUB should check for encrypted disks and generate additional\n  commands needed to access them during boot\n- **BOOL** : *false*\n\n#### enable_blscfg\n- Define if BootLoaderSpec configuration should be used\n- **BOOL** : *false*\n\n#### gfxmode\n- Define which resolution should be used if VBE is used\n- **STRING** : *Empty by default*\n\n#### hidden_timeout\n- Define how long (in seconds) grub should wait for a user to enter the menu\n- **STRING** : *Not present in config file by default*\n\n#### hidden_timeout_quiet\n- Define if the hidden timeout is quiet or not\n- **BOOL** : *false*\n\n#### install_binary\n- Path to GRUB installation command\n- **ABSOLUTE_PATH** : *Value depends on Linux distribution*\n\n#### update_binary\n- Path to GRUB configuration file update command\n- **ABSOLUTE_PATH** : *Value depends on Linux distribution*\n\n#### install_grub\n- Install the GRUB packages and install GRUB in the MBR\n- **BOOL** : *false*\n\n#### package_ensure\n- Puppet stuff, define in which state should be the GRUB packages\n- **STRING** : *'present'*\n\n#### password\n- Enable password to protect the GRUB configuration\n- **BOOL** : *false*\n\n#### password_username\n- Set the username that will be able to edit the GRUB configuration\n- **STRING** : *Empty by default*\n\n#### password_pbkdf2_hash\n- Set PBKDF2 password hash generated via grub-mkpasswd-pbkdf2 or grub2-mkpasswd-pbkdf2 commands\n- **STRING** : *Empty by default*\n\n#### preload_modules\n- Preload additional modules\n- **STRING** : *Empty by default*\n\n#### recordfail_timeout\n- Set default timeout value for GRUB2.\n  Useful to stop headless machines stalling during boot.\n- **INTEGER** : *5*\n\n#### save_default\n- If true, the last selected entry will become the new default one\n  GRUB_DEFAULT should be set to \"saved\" and not to 0\n- **BOOL** : *false*\n\n#### serial_command\n- Set settings for the serial console\n- **STRING** : *Empty by default*\n\n#### suse_btrfs_snapshot_booting\n- Whether the root disk is a btrfs snapshot or not\n- **BOOL** : *false*\n\n#### terminal\n- Define on which terminal the ouput should be display\n- **STRING** : *Empty by default*\n\n#### timeout\n- Define how long (in seconds) that the menu should appear\n- **INTEGER** : *5*\n\n#### timeout_style\n- Define what to display while waiting for timeout to expire\n- **STRING** : *'countdown'*\n\n#### tune\n- Define if GRUB should make a beep when he starts\n- **STRING** : *Empty by default*\n\n#### update_grub\n- Regenerate the GRUB configuration after updates\n- **BOOL** : *true*\n\n### Example\n```ruby\n    class { 'grub2':\n      update_grub               =\u003e false,\n      install_grub              =\u003e false,\n      cmdline_linux_default     =\u003e 'quiet crashkernel=256M nmi_watchdog=0 console=tty0 console=ttyS1,115200n8',\n      terminal                  =\u003e 'serial console',\n      default_entry             =\u003e 0,\n      timeout                   =\u003e 5,\n      serial_command            =\u003e 'serial --speed=115200 --unit=1 --word=8 --parity=no --stop=1',\n      disable_uuid              =\u003e true,\n      disable_recovery          =\u003e true,\n      tune                      =\u003e '480 440 1',\n      device_install            =\u003e ['/dev/sda'],\n      hidden_timeout            =\u003e 0,\n      hidden_timeout_quiet      =\u003e false,\n      recordfail_timeout        =\u003e 5,\n      password                  =\u003e true,\n      password_username         =\u003e 'chewbacca',\n      password_pbkdf2_hash      =\u003e 'grub.pbkdf2.sha512.10000.EDBE1B820072D36A7B0059C7C33A2AA8B9D60888B0A44E7A566CB92E35F16A0F20770E79FB2E283680715ED916498D59B72F02599B461E4A087704E5E8A2A92D.911F2E7867A16DE76C170AD6E1C14D3F0AE2B7E1B58D1D967F98CEC9F2C2EAF7397ADE15CFB661CA94F6B7963A9C98BEFFB3026A4285FC04DB9F4118BDA39D58',\n    }\n```\n### Hiera support\n\nThis module also supports the configuration of the parameters it exposes\nusing Hiera. You can do this by namespacing around `grub2`. For instance, to\nset the value of `timeout` to `10`, you would use something like that in\nyour Hiera files:\n```yaml\ngrub2::timeout: 10\n```\n\n### EFI support\n\nModule will now take into account whether a system has booted with BIOS or with (U)EFI\nand will then place the `grub.cfg` file in the correct directory.\n\nThe `efi` fact represents whether a system has booted with EFI or BIOS and returns a boolean; `true` or `false` depending on the system.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoldyfruit%2Fpuppet-grub2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgoldyfruit%2Fpuppet-grub2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgoldyfruit%2Fpuppet-grub2/lists"}