IPMI 实用小代码,如何给“OS Boot sensor”触发一个“OS Boot event”

1 背景

我们知道 “OS Boot sensor” 在 IPMI 的环境中,是一个常见的sensor, 根据不同BMC 参考设计,可能会有不同的实现。 通常来说,如果是基于我们常见的PPS参考方案,我们就可以通过IPMI RAW 命令来触发“OS Boot event” 的事件。

2 具体命令如下

1
# ipmitool raw 0x2e 0xf0 0xcd 0x65 0x00 0x1f 0x01 0xff 0xff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Byte 1: NetFn: 0x2e
Byte 2: CMD: 0xf0
Byte 3: COMP_IANA_MFG_ID 0: 0xcd
Byte 4: COMP_IANA_MFG_ID 1: 0x65
Byte 5: COMP_IANA_MFG_ID 2: 0x00
Byte 6: Sensor Type: 0x1F
Byte 7: EventData 1: 0x01
// you should add the actual data here:
00h A: boot completed
01h C: boot completed
02h PXE boot completed
03h Diagnostic boot completed
04h CD-ROM boot completed
05h ROM boot completed
06h boot completed - boot device not specified
Byte 8: EventData 2: 0xFF // No meaning
Byte 9: EventData 3: 0xFF // No meaning
  • 输出
    1
    2
    # ipmitool sel list
    1 | 03/20/2021 | 00:56:43 | OS Boot #0x12 | C: boot completed | Asserted
  • 详细信息
    1
    # ipmitool sel get 1
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SEL Record ID : 0001
    Record Type : 02
    Timestamp : 03/20/2021 00:56:43
    Generator ID : 0092
    EvM Revision : 04
    Sensor Type : OS Boot
    Sensor Number : 12
    Event Type : Sensor-specific Discrete
    Event Direction : Assertion Event
    Event Data (RAW) : 01ffff
    Event Interpretation Missing
    Description : C: boot completed