使用 Romulus 的 IPMI 工具

Using IPMI tool from Romulus

如何 运行 来自 openBMC romulus 映像的 IPMI 工具。根据教程,我成功地 运行 设置了 Hello World 程序。我想 运行 IPMI 工具命令从 romulus 到另一台服务器的 BMC。有没有办法做到这一点?因为不包括 ipmitool 命令。有什么方法可以将它包含在 romulus 图像中。

ipmitool 的真正目的是在 BMC 之外使用它来控制它。因此,在大多数情况下,您在计算机上安装 ipmitool 包(sudo apt install ipmitool),然后使用它与服务器通信。

即:

ipmitool -I lanplus -U root -H <server> -P <password> chassis power status

如果您使用的是 QEMU,那么我相信您需要 hostfwd 端口 623 才能正常工作。不过,我个人之前还没有使用 ipmitool 与 QEMU 会话对话。

如果你真的想在你的 BMC 映像中使用 ipmitool,那么你可以将它作为 RDEPENDS 添加到 packagegroup 文件中,类似于 facebook 在 https://github.com/openbmc/meta-facebook/blob/master/meta-tiogapass/recipes-fbtp/packagegroups/packagegroup-fb-apps.bb

中所做的

Romulus 在 OpenBMC 固件映像中没有 ipmitool,其他一些 OpenBMC 平台也是如此;并非所有平台都有 SPI FLASH space 提供许多实用程序。您可以使用 ipmitool 从远程机器到 Romulus,如下所示。

ipmitool -I lanplus -C 17 -p 623 -U root -H <server> -P <password> bmc info

ipmitool -I lanplus -C 17 -p 623 -U root -H <server> -P <password> raw 0x06 0x01

我选择对密码套件 17 使用 -C 17,因为 ipmitool 默认使用密码套件 3,而出于安全原因,现代平台已弃用密码套件 3。 密码套件 3 和 17 是最后两个具有任何安全强度的套件,17 更强(不要读成强),现在套件 3 被认为是弱的。

这里是 ipmitool 命令:

usage: ipmitool [options...] <command>
       -h             This help
       -V             Show version information
       -v             Verbose (can use multiple times)
       -c             Display output in comma separated format
       -d N           Specify a /dev/ipmiN device to use (default=0)
       -I intf        Interface to use
       -H hostname    Remote host name for LAN interface
       -p port        Remote RMCP port [default=623]
       -U username    Remote session username
       -f file        Read remote session password from file
       -z size        Change Size of Communication Channel (OEM)
       -S sdr         Use local file for remote SDR cache
       -D tty:b[:s]   Specify the serial device, baud rate to use
                      and, optionally, specify that interface is the system one
       -4             Use only IPv4
       -6             Use only IPv6
       -a             Prompt for remote password
       -Y             Prompt for the Kg key for IPMIv2 authentication
       -e char        Set SOL escape character
       -C ciphersuite Cipher suite to be used by lanplus interface
       -k key         Use Kg key for IPMIv2 authentication
       -y hex_key     Use hexadecimal-encoded Kg key for IPMIv2 authentication
       -L level       Remote session privilege level [default=ADMINISTRATOR]
                      Append a '+' to use name/privilege lookup in RAKP1
       -A authtype    Force use of auth type NONE, PASSWORD, MD2, MD5 or OEM
       -P password    Remote session password
       -E             Read password from IPMI_PASSWORD environment variable
       -K             Read kgkey from IPMI_KGKEY environment variable
       -m address     Set local IPMB address
       -b channel     Set destination channel for bridged request
       -t address     Bridge request to remote target address
       -B channel     Set transit channel for bridged request (dual bridge)
       -T address     Set transit address for bridge request (dual bridge)
       -l lun         Set destination lun for raw commands
       -o oemtype     Setup for OEM (use 'list' to see available OEM types)
       -O seloem      Use file for OEM SEL event descriptions
       -N seconds     Specify timeout for lan [default=2] / lanplus [default=1] interface
       -R retry       Set the number of retries for lan/lanplus interface [default=4]

Interfaces:
        open          Linux OpenIPMI Interface [default]
        lan           IPMI v1.5 LAN Interface
        lanplus       IPMI v2.0 RMCP+ LAN Interface
        serial-terminal  Serial Interface, Terminal Mode
        serial-basic  Serial Interface, Basic Mode

Commands:
        raw           Send a RAW IPMI request and print response
        i2c           Send an I2C Master Write-Read command and print response
        spd           Print SPD info from remote I2C device
        lan           Configure LAN Channels
        chassis       Get chassis status and set power state
        power         Shortcut to chassis power commands
        event         Send pre-defined events to MC
        mc            Management Controller status and global enables
        sdr           Print Sensor Data Repository entries and readings
        sensor        Print detailed sensor information
        fru           Print built-in FRU and scan SDR for FRU locators
        gendev        Read/Write Device associated with Generic Device locators sdr
        sel           Print System Event Log (SEL)
        pef           Configure Platform Event Filtering (PEF)
        sol           Configure and connect IPMIv2.0 Serial-over-LAN
        tsol          Configure and connect with Tyan IPMIv1.5 Serial-over-LAN
        isol          Configure IPMIv1.5 Serial-over-LAN
        user          Configure Management Controller users
        channel       Configure Management Controller channels
        session       Print session information
        dcmi          Data Center Management Interface
        nm            Node Manager Interface
        sunoem        OEM Commands for Sun servers
        kontronoem    OEM Commands for Kontron devices
        picmg         Run a PICMG/ATCA extended cmd
        fwum          Update IPMC using Kontron OEM Firmware Update Manager
        firewall      Configure Firmware Firewall
        delloem       OEM Commands for Dell systems
        shell         Launch interactive IPMI shell
        exec          Run list of commands from file
        set           Set runtime variable for shell and exec
        hpm           Update HPM components using PICMG HPM.1 file
        ekanalyzer    run FRU-Ekeying analyzer using FRU files
        ime           Update Intel Manageability Engine Firmware
        vita          Run a VITA 46.11 extended cmd
        lan6          Configure IPv6 LAN Channels