Skip to content

System Validation (rbln-bios)

rbln-bios is a system diagnostic tool that validates server configuration (GRUB, BIOS settings, and fan speed) to verify that a host meets the prerequisites for running RBLN NPUs.

Note

  • GRUB target: No BMC access required. Works on any vendor / model.
  • BIOS / fanspeed targets: Require BMC (Baseboard Management Controller) access via the Redfish API.
    • Supermicro: DCMS license required. Validated server models:
      • AS -4125GS-TNRT2
      • AS -5126GS-TNRT2

Quick Start

$ sudo rbln-bios -t grub -v

Key Concepts and Terminology

Validation targets

rbln-bios validates one or more targets specified with -t, --target:

  • grub: Validates kernel/boot parameters for optimal NPU performance.
  • bios: Validates BIOS settings via the Redfish API.
  • fanspeed: Checks fan speed status via the Redfish API.
  • all: Runs all supported targets.

BMC (Redfish) credentials

Note

For targets that access the BMC (bios, fanspeed), provide:

  • --bmc_ip <BMC_IP>: BMC IP address (Redfish endpoint)
  • --bmc_user <BMC_USER> / --bmc_password <BMC_PASSWORD>: BMC credentials

Command Reference

General usage

$ rbln-bios -l
$ rbln-bios -t <target> [options]
$ rbln-bios -t <target1> <target2> ... [options]

Note

All validation targets (-t) require root privileges — non-root invocations fail with a permission error. Run every command with sudo.

Tip

For the full, version-specific option reference, run rbln-bios --help.

Global options

Option Description
-h, --help Show help message and exit.
-v, --verbose Verbose output (for example, show expected/current GRUB cmdline).
--version Show version information and exit.
-t, --target <TARGET ...> Validate target(s): grub, bios, fanspeed, or all.
-l, --list List available targets.
-j, --json Output in JSON format.
--bmc_ip <BMC_IP> BMC IP address (Redfish endpoint). Required for bios and fanspeed.
--bmc_user <BMC_USER> BMC user. Required for bios and fanspeed.
--bmc_password <BMC_PASSWORD> BMC password. Required for bios and fanspeed.

CLI Examples

Summary

Lists available validation targets on the current system.

Command

Command
$ rbln-bios -l

Output (example)

Targets list (example)
Available targets:
        grub
        bios
        fanspeed

Summary

Validates kernel/boot parameters. Use -v, --verbose to show expected and current GRUB cmdline.

Command

Command
$ sudo rbln-bios -t grub

Output (example)

GRUB validation (example)
==== System Information ====
OS                    : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel                : 6.8.0-90-generic
CPU Model             : AMD EPYC 9355 32-Core Processor
Manufacturer          : Supermicro
Architecture          : x86_64

==== GRUB Boot Parameter ====
Result                : PASS

Note

Result is reported as one of the following three values.

  • PASS: All recommended kernel/boot parameters are applied.
  • FAIL: Required parameters are missing. The missing items are listed in the Missing field.
  • UNSUPPORTED: On Intel CPUs, pci=noats must be present in the cmdline. This state is reported on Intel systems where the option is missing, and the affected option is listed in the Unsupported field.

Summary

Validates kernel/boot parameters with detailed expected and current cmdline output.

Command

Command
$ sudo rbln-bios -t grub -v

Output (example)

GRUB verbose validation (example)
==== System Information ====
OS                    : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel                : 6.8.0-90-generic
CPU Model             : AMD EPYC 9355 32-Core Processor
Manufacturer          : Supermicro
Architecture          : x86_64

==== GRUB Boot Parameter ====
Result                : PASS
Expected              : transparent_hugepage=madvise pcie_aspm=force pci=pcie_bus_perf pci=bfsort ...
Current               : BOOT_IMAGE=... root=... ro transparent_hugepage=madvise pcie_aspm=force ...

Summary

Validates BIOS settings via the Redfish API. Requires --bmc_ip, --bmc_user, and --bmc_password.

Command

Command
$ sudo rbln-bios -t bios --bmc_ip 192.168.1.100 --bmc_user admin --bmc_password password123

Output (example)

BIOS validation (example)
==== System Information ====
OS                    : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel                : 6.8.0-90-generic
CPU Model             : AMD EPYC 9355 32-Core Processor
Manufacturer          : Supermicro
Architecture          : x86_64

==== BIOS Settings ====
 Setting                        Status
 ---------------------------------------------
  IOMMU                          ✓  Enabled
  SR_IOVSupport                  ✓  Enabled
  Above4GDecoding                ✓  Enabled
  Re_SizeBARSupport              ✓  Enabled
  ASPMSupport                    ✓  Auto
  DFCstates                      ✓  Disabled
  NUMANodesPerSocket             ✓  NPS1
  ACPISRATL3CacheAsNUMADomain    ✓  Disabled
  MMIO High Base                 N/A
  MMIO High Granularity Size     N/A
  SNC (Intel)                    N/A

Note

On some CPUs (for example, AMD Turin), Above 4G Decoding is enabled by default and may not be exposed in BIOS. The system can still be configured correctly when this item is reported as UNKNOWN, and rbln-bios prints an explanatory message alongside the result in that case.

Summary

Checks fan speed status via the Redfish API. Requires --bmc_ip, --bmc_user, and --bmc_password.

Command

Command
$ sudo rbln-bios -t fanspeed --bmc_ip 192.168.1.100 --bmc_user admin --bmc_password password123

Output (example)

Fan speed check (example)
==== System Information ====
OS                    : ubuntu 22.04.5 LTS (Jammy Jellyfish)
Kernel                : 6.8.0-90-generic
CPU Model             : AMD EPYC 9355 32-Core Processor
Manufacturer          : Supermicro
Architecture          : x86_64

==== Fan Speed ====
 Result                         PASS
 Fan                            Speed(RPM)     Status
 -----------------------------------------------------------------
 FAN_1                                7500    enabled
 FAN_2                                7600    enabled

Summary

Outputs validation results in JSON format for programmatic consumption.

Command

Command
$ sudo rbln-bios -t grub -j

Output (example)

JSON output (example)
{
    "version": "3.2.0",
    "system_information": {
        "os": "ubuntu 22.04.5 LTS (Jammy Jellyfish)",
        "kernel": "6.8.0-90-generic",
        "cpu_model": "AMD EPYC 9355 32-Core Processor",
        "manufacturer": "Supermicro",
        "architecture": "x86_64"
    },
    "grub_boot_parameter": {
        "result": "PASS"
    }
}

Operation via Host Interface

By using the internal network interface (Host Interface) between the BMC and host, Redfish-based features (bios, fanspeed) of rbln-bios can be used without an external network connection.

1. Enable Host Interface on Web BMC

Access the Web BMC management page and enable the Host Interface setting. (Configuration/BMC Settings/Host Interface)

  • Host IP Address: 169.254.3.1 (configurable)
  • BMC IP Address: 169.254.3.254 (the IP to be used as the actual input value)

2. Configure the host-side network interface

Assign an IP address to the network device corresponding to the Host Interface and bring it up.

$ sudo ip addr add 169.254.3.1/24 dev enxbe3af2b6059f
$ sudo ip link set enxbe3af2b6059f up

Note

enxbe3af2b6059f is the network device name for the Host Interface, which may vary depending on the system. Verify it using the ip link command.

3. Run rbln-bios

Specify the internal BMC IP (169.254.3.254) with the --bmc_ip option to operate via the Host Interface.

$ sudo rbln-bios -t bios --bmc_ip 169.254.3.254 --bmc_user <username> --bmc_password <password>
$ sudo rbln-bios -t fanspeed --bmc_ip 169.254.3.254 --bmc_user <username> --bmc_password <password>

Troubleshooting

bios or fanspeed fails

  • Confirm the host can reach the BMC and that the Redfish endpoint is accessible.
  • Verify BMC credentials and BMC IP address (see BMC (Redfish) credentials).

Unsupported platform

The grub target works on any vendor / model. The bios and fanspeed targets require BMC access via the Redfish API and are currently validated on Supermicro AS -4125GS-TNRT2 and AS -5126GS-TNRT2 (DCMS license required).

See also