Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms


fb_grub (1) Versions 0.1.0

Installs/Configures fb_grub

cookbook 'fb_grub', '~> 0.1.0'
cookbook 'fb_grub', '~> 0.1.0', :supermarket
knife cookbook site install fb_grub
knife cookbook site download fb_grub
Quality 50%

fb_grub Cookbook

This cookbook will install the GRUB bootloader and generate a sane config for it.



  • node['fb_grub']['timeout']
  • node['fb_grub']['kernel_cmdline_args']
  • node['fb_grub']['kernels']
  • node['fb_grub']['serial']['unit']
  • node['fb_grub']['serial']['speed']
  • node['fb_grub']['serial']['word']
  • node['fb_grub']['serial']['parity']
  • node['fb_grub']['serial']['stop']
  • node['fb_grub']['tboot']['enable']
  • node['fb_grub']['tboot']['logging']
  • node['fb_grub']['terminal']
  • node['fb_grub']['version']
  • node['fb_grub']['use_labels']
  • node['fb_grub']['boot_disk']
  • node['fb_grub']['manage_packages']


This cookbook will configure GRUB 1 or GRUB 2 (defaults as appropriate for the distro, override with node['fb_grub']['version']) to boot the kernels listed in node['fb_grub']['kernels']. In most cases you'll probably want to write a ruby_block to autodiscover these from the contents of /boot instead of statically populating it. If you need to parse or compare kernel versions as part of this, you may find the FB::Version class in fb_helpers useful. Note that this cookbook will not install a kernel for you, it will just control the GRUB config. The cookbook will install and keep updated the appropriate GRUB packages; if you'd rather handle this somewhere else, set node['fb_grub']['manage_packages'] to false.

This cookbook sets the GRUB timeout to 5 unless otherwise specified using node['fb_grub']['timeout']. It defaults GRUB output to the system console; this can be changed with node['fb_grub']['terminal']. If serial is used for the terminal, set the values in node['fb_grub']['serial'] as appropriate (defaults to first serial port, 57600, 8-N-1).

Adding kernel command line args is accomplished by adding the argument as an element to the node['fb_grub']['kernel_cmdline_args'] array. Simply append the full text of the kernel command line arg as an element to that array, e.g.:

node.default['fb_grub']['kernel_cmdline_args'] << 'crashkernel=128M'

Previous versions of this cookbook assumed the device containing grub is enumerated as hd0. GRUB 2 can use labels or UUIDs. The option node['fb_grub']['use_labels'] allows users to opt into search behaviour instead of hard coding the device.

If the device absolutely needs to be hardcoded, it can be overriden, as in:

node.default['fb_grub']['boot_disk'] = 'hd1'


This cookbook optionally supports enabling tboot. This is only supported for GRUB 2 and is disabled by default. It can be controlled with the attribute node['fb_grub']['tboot']['enable']. If desired, tboot logging output can be controlled with node['fb_grub']['tboot']['logging'] (defaults to memory). If serial output is requested, it will reuse node['fb_grub']['serial'] for its settings.

When tboot is enabled, two menu entries are created for each kernel: one with tboot as the MLE before launching the kernel, and one launching the kernel directly without tboot.

NOTE: tboot is not compatible with Secure Boot enabled. Please see the RedHat bug report for more information:

Dependent cookbooks

fb_helpers >= 0.0.0

Contingent cookbooks

fb_init_sample Applicable Versions

Collaborator Number Metric

0.1.0 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

0.1.0 passed this metric

Foodcritic Metric

0.1.0 failed this metric

FC064: Ensure issues_url is set in metadata: fb_grub/metadata.rb:1
FC066: Ensure chef_version is set in metadata: fb_grub/metadata.rb:1
Run with Foodcritic Version 13.1.1 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

0.1.0 passed this metric

Publish Metric

0.1.0 passed this metric

Supported Platforms Metric

0.1.0 passed this metric

Testing File Metric

0.1.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

0.1.0 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must include a tag that matches this cookbook version number