Skip to content

Firmware Update Guide

Firmware updates keep controllers, NICs, BIOS, and BMCs at consistent and supported versions across a machine type. This guide covers how to plan and configure firmware update workflows.

Identify Firmware Requirements

Start by collecting current firmware versions from representative machines:

  • BIOS version — from bios-current-configuration or gohai-inventory
  • BMC/iDRAC/iLO version — from IPMI inventory
  • RAID controller firmware — from raid-current-config controller info
  • NIC firmware — from vendor tools or gohai-inventory

Compare against vendor recommended versions and any known compatibility requirements for your OS and workload.

Firmware Update Approaches

Vendor Update Utilities

Most server vendors provide Linux-based update utilities that can be integrated into DRP workflows:

  • Dell — Dell System Update (DSU), RACADM for iDRAC
  • HPE — Smart Update Manager (SUM), iLO RESTful API
  • Lenovo — OneCli, UpdateXpress
  • Supermicro — Supermicro Update Manager (SUM), Supermicro Auto-update Agent (SAA)

These can be packaged as DRP tasks that run during provisioning.

Workflow Design

A typical firmware update workflow:

  1. Inventory — capture current firmware versions
  2. Compare — check against target versions; skip if already current
  3. Stage updates — download or extract update packages
  4. Apply — run updates
  5. Reboot — some updates require one or more reboots
  6. Verify — re-inventory to confirm versions match targets

Considerations

  • Firmware updates can require multiple sequential reboots
  • Some updates have dependencies (e.g., BMC must be updated before BIOS)
  • Version checking before and after prevents unnecessary update cycles
  • Test update sequences on a representative machine before rolling out
  • Keep update packages versioned in your content pack or artifact store