Skip to content

BIOS Configuration

The bios plugin allows you to get and set BIOS configuration parameters on server systems from the following manufacturers:

  • Dell, which requires the dell-support content bundle.
  • HPE, which requires the hpe-support content bundle.
  • Lenovo, which requires the lenovo-support content bundle.
  • Supermicro, which requires the supermicro-support content bundle.
  • Any system with a Redfish BMC, through the redfish driver, which requires the ipmi plugin.

In all cases, bios configuration management is implemented as a set of tasks designed to be run in the Sledgehammer boot environment.

In addition to this documentation, please see the [Using The BIOS Plugin] documentation.

Also see: Using The BIOS Plugin

Drivers

The bios-driver param selects the tooling used to get and set BIOS values:

  • dell uses racadm.
  • hp uses conrep.
  • lenovo uses onecli.
  • supermicro uses sum.
  • cisco uses the CIMC XML API out-of-band.
  • redfish uses the ipmi plugin's getBios and setBios actions to get and set Redfish BIOS attributes through the BMC. It needs the ipmi/address, ipmi/username and ipmi/password params, and ipmi/mode set to redfish. Changes are staged in the BMC and applied on the next reboot, or as set by ipmi/bios-apply-time.
  • none is the default and does nothing.

bios-tools-install picks the driver from the manufacturer. A manufacturer without a vendor driver uses redfish when ipmi/mode is redfish.

Stages

Stage What it does
bios-inventory Discovers the BIOS configuration of a system.
bios-baseline Extracts the current BIOS configuration and saves it to bios-target-configuration.
bios-configure Discovers and updates the BIOS configuration of a system.
bios-configure-example An example that reads the current configuration, configures the BIOS, then applies an iLO configuration.
bios-reset Resets BIOS params so an application can be applied to the system.
bios-reset-to-factory Resets the BIOS to factory settings. With the redfish driver it queues bios-redfish-reset, which calls the ipmi plugin's resetBios action.
bios-complete Clears the params used within a BIOS run.

Setting the desired configuration

bios-target-configuration holds the desired BIOS settings as key and value pairs, which bios-configure tries to apply. Valid settings depend on the manufacturer, model, BIOS and firmware revision, and the current settings. Run bios-baseline on a machine to fill bios-target-configuration with its current settings, then edit them for reuse.

bios-target-configurations takes a list of those sets. When bios-target-configuration-compose is true, the target is built from every layer of profiles and params, and layers closer to the machine override the others. It defaults to false.

The difference between the desired and current configuration is stored in bios-configuration-difference.

Vendor configuration files

Each vendor has a pair of params that list files to apply to the system. The pre param is applied before bios-configure and the other after it.

Vendor Applied before Applied after
Dell iDRAC bios-idrac-pre-configuration bios-idrac-configuration
HPE iLO bios-ilo-pre-configuration bios-ilo-configuration
Lenovo bios-lenovo-pre-configuration bios-lenovo-configuration
Supermicro bios-supermicro-pre-configuration bios-supermicro-configuration

Out-of-band

Set bios-out-of-band to true to perform all BIOS configuration tasks through the out-of-band controller.

When bios-configure runs in a context, the context runner cannot reboot the machine. If it applied any settings, it sets bios-oob-reboot-required instead. Add the bios-oob-reboot task after switching back from the context, for example in bios-configure-tasks, and it reboots the machine when that param is true.