Skip to content

Getting Started

Connection Options

Every command requires credentials. Supply them as CLI flags or environment variables.

Terminal window
export BMC_HOST=10.10.10.10
export BMC_USERNAME=admin
export BMC_PASSWORD=password
bmctools redfish boot get-order
OptionEnv VariableDescription
-i, --ip, --hostBMC_HOSTBMC IP address or hostname
-u, --usernameBMC_USERNAMEBMC username
-p, --passwordBMC_PASSWORDBMC password
-m, --manufacturerBMC_MANUFACTURERForce vendor: asus dell supermicro gigabyte cisco
-k, --insecureBMC_INSECUREDisable SSL verification (default: on)
-o, --outputOutput format: json json-pretty table text
-v, --verboseVerbose output
-d, --debugShow full stack traces
--no-colorNO_COLORDisable coloured output

Boot Management

Terminal window
# View current boot order
bmctools redfish boot get-order
# List all available boot options
bmctools redfish boot list-options -o table
# Find the PXE boot option for a specific NIC
bmctools redfish boot find-by-mac -m 04:32:01:D8:C0:B0 --type PXE
# Set a new boot order (must include ALL options)
bmctools redfish boot set-order -o "Boot0003,Boot0001,Boot0000,Boot0002"
# One-time PXE boot
bmctools redfish boot set-override -t Pxe --mode Once

System Management

Terminal window
bmctools redfish system info # show system info
bmctools redfish system reset # graceful restart
bmctools redfish system reset --type ForceRestart
bmctools redfish system reset --type ForceOff
bmctools redfish system reset-types # list supported reset types

Firmware

Terminal window
bmctools redfish firmware inventory -o table
bmctools redfish firmware update-bios -f /path/to/bios.bin
bmctools redfish firmware update-bmc -f /path/to/bmc.bin

IPMI

Terminal window
bmctools ipmi power status
bmctools ipmi power on
bmctools ipmi power off
bmctools ipmi power reset
bmctools ipmi sel list
bmctools ipmi sel list --age 24h

Dell-Specific

Terminal window
bmctools redfish dell get-nics
bmctools redfish dell pxe-boot -m 04:32:01:D8:C0:B0

Python Library

from bmctools.redfish.redfish import Redfish
rf = Redfish('10.10.10.10', 'admin', 'password', verify_ssl=False)
print(rf.manufacturer) # auto-detected: "dell", "asus", "supermicro", etc.
boot_order = rf.get_boot_order()
boot_options = rf.get_boot_options()
option = rf.get_boot_option_by_mac('04:32:01:D8:C0:B0', type='PXE')
rf.set_boot_order(["Boot0003", "Boot0001", "Boot0000"])
rf.reset_system() # graceful
rf.reset_system(reset_type='ForceOff')

Raw Redfish Exploration

Terminal window
bmctools redfish raw /redfish/v1 -o json-pretty
bmctools redfish raw /redfish/v1/Systems
bmctools redfish raw /redfish/v1/Managers/1
bmctools redfish raw /redfish/v1/Chassis