Set System Boot Options
更新时间: 2025/06/26
在Gitcode上查看源码

08h-设置系统启动选项(Set-System-Boot-Options)

修订记录

openUBMC版本号修订日期修订内容
25.062025/06/26初稿,新增命令详情

基本信息

功能说明

设置系统启动选项。

权限

命令信息

请求信息

字节顺序域取值说明
NetFnChassis 00h
CMD08h
1Parameter valid
[7]- 1b=mark parameter invalid/locked
0b=mark parameter valid/unlocked
[6:0]-boot option parameter selector
(2:N)Boot option parameter data, 表1 .
Passing 0-bytes of parameter data allow the parameter valid bit to be changed without affecting the present parameter setting.

响应信息

字节顺序域取值说明
1Completion Code
2Completion Code. Generic plus the following command-specific completion
codes:
80h=parameter not supported.
81h=attempt to set the 'set in progress' value (in parameter #0) when not in
the 'set complete' state. (This completion code provides a way to recognize that another party has already 'claimed' the parameters.)
82h=attempt to write read-only parameter

命令样例

设置系统启动选项

请求:

ipmicmd -k "0f 00 MM NN" smi 0

响应:

0f MM NN

附表1 Boot Option Parameters

Parameter#Parameter Data
Set In Progress
00hdata 1-This parameter is used to indicate when any of the following parameters are being updated, and when the updates are completed.
[7:2]-reserved
[1:0]
- 00b=set complete. If a system reset or transition to powered down state occurs while ‘set in progress’ is active, the BMC will go to the ‘set complete’ state. If rollback is implemented, going directly to ‘set complete’ without first doing a ‘commit write’ will cause any pending write data to be discarded.
-01b=set in progress. This flag indicates that some utility or other software is presently doing writes to parameter data. It is a notification flag only, it is not a resource lock. The BMC does not provide any interlock mechanism that would prevent other software from writing parameter data while.
-10b=commit write (optional). This is only used if a rollback is implemented. The BMC will save the data that has been written since the last time the ‘set in progress’ and then go to the ‘set in progress’ state. An error completion code will be returned if this option is not supported.
-11b=reserved
Service Partition Selector01hdata 1
[7:0]-service partition selector. This value is used to select which service partition BIOS should boot using. This document doesn’t specify which value corresponds to a particular service partition. 00h=unspecified.
Service Partition Scan02hdata 1
[7:2] – reserved
[1]-1b=Request BIOS to scan for specified service partition. BIOS clears this bit after the requested scan has been performed.
[0]-1b=Service Partition discovered. BIOS sets this bit to indicate it has discovered the specified service partition. The bit retains the value from the last scan. Therefore, to get up-to-date status of the discovery state, a scan may need to be requested.
BMC Boot Flag Valid Bit Clearing03hdata 1- BMC boot flag valid bit clearing. Default=0000b. [7:5] – reserved
[4]-1b=don’t clear valid bit on reset/power cycle caused by PEF
[3]-1b=don’t automatically clear boot flag valid bit if Chassis Control command not received within 60-second timeout (countdown restarts when a Chassis Control command is received)
[2]-1b=don’t clear valid bit on reset/power cycle caused by watchdog timeout
[1]-1b=don’t clear valid bit on pushbutton reset/soft-reset (e.g. “Ctrl-Alt-Del”) [0]-1b=don’t clear valid bit on power up via power pushbutton or wake event
Boot Info Acknowledge04hdata 1: Write Mask (‘write-only’. This field is returned as 00h when read. This is to eliminate the need for the BMC to provide storage for the Write Mask field.)
[7]-1b=enable write to bit 7 of Data field
[6]-1b=enable write to bit 6 of Data field
[5]-1b=enable write to bit 5 of Data field
[4]-1b=enable write to bit 4 of Data field
[3]-1b=enable write to bit 3 of Data field
[2]-1b=enable write to bit 2 of Data field
[1]-1b=enable write to bit 1 of Data field
[0]-1b=enable write to bit 0 of Data field

data 2:Boot Initiator Acknowledge Data The boot initiator should typically write FFh to this parameter prior to initiating the boot. The boot initiator may write 0’s if it wants to intentionally direct a given party to ignore the boot info. This field is automatically initialized to 00h when the management controller is first powered up or reset.
[7]-reserved. Write as 1b. Ignore on read.
[6]-reserved. Write as 1b. Ignore on read.
[5]-reserved. Write as 1b. Ignore on read.
[4]-0b=OEM has handled boot info.
[3]-0b=SMS has handled boot info.
[2]-0b=OS/service partition has handled boot info.
[1]-0b=OS Loader has handled boot info.
[0]-0b=BIOS/POST has handled boot info.
Boot Flags05hdata 1
[7]-1b=boot flags valid. The bit should be set to indicate that valid flag data is present. This bit may be automatically cleared based on the boot flag valid bit clearing parameter, above.
[6]-0b=options apply to next boot only.
1b=options requested to be persistent for all future boots (i.e. requests BIOS to change its boot settings) Note: In order to set this bit remotely (over a session), the user must execute the Set System Boot Options command at ADMIN privilege level. In order to retain backward compatibility, this bit will be AUTOMATICALLY CLEARED by the BMC whenever the boot flags valid bit is clear (0b). This is to avoid the possibility that this bit would already be set when an older application changes other options. Thus, this bit and the boot flags valid bit must be set simultaneously.
[5]-BIOS boot type (for BIOS that support both legacy and EFI boots) 0b=“PC compatible” boot (legacy)
1b=Extensible Firmware Interface Boot (EFI)
[4:0]-reserved

data 2
[7]-1b=CMOS clear Intelligent Platform Management Interface Specification 383
[6]-1b=Lock Keyboard
[5:2]-Boot device selector
0000b=No override
0001b=Force PXE
0010b=Force boot from default Hard-drive
0011b=Force boot from default Hard-drive, request Safe
0100b=Force boot from default Diagnostic Partition
0101b=Force boot from default CD/DVD
0110b=Force boot into BIOS Setup
0111b-1110b=Reserved 1111b=Force boot from Floppy/primary removable media
[1]-1b=Screen Blank
[0]-1b=Lock out Reset buttons

data 3
[7]-1b=Lock out (power off/ sleep request) via Power Button
[6:5]-Firmware (BIOS) Verbosity (Directs what appears on POST display)
00b=system default
01b=request quiet display
10b=request verbose display
11b=reserved
[4]-1b=Force progress event traps ~. When set to 1b, the BMC transmits PET traps for BIOS progress events to the LAN or serial/modem destination for the session that set the flag. Since this capability uses PET traps, this bit will be ignored if for connection modes that do not support PET such as Basic Mode and Terminal Mode.
[3]-1b=User password bypass ~. When set to 1b, the managed client’s BIOS boots the system and bypasses any user or boot password that might be set in the system. This option allows a system administrator to, for example, force a system boot via PXE in an unattended manner. It is recommended that ADMINISTRATOR Privilege Level be required to set this bit if this feature is supported in a given BIOS. (To set this bit remotely (over a session) the Set Boot Options command must be executed at ADMIN level)
[2]-1b=Lock Out Sleep Button ~. When set to 1b, directs BIOS to disable the sleep button operation for the system, normally until the next boot cycle. Client instrumentation might provide the capability to re-enable the button functionality without rebooting. (This only applies to systems that have a separate sleep button on the chassis.)
[1:0]-Console Redirection control
00b=console redirection occurs per BIOS configuration setting (system default)
01b=suppress (skip) console redirection if enabled
10b=request console redirection be enabled
11b=reserved

data 4
[7:4]-reserved
[3]-BIOS Shared Mode Override
1b=Request BIOS to temporarily set the access mode for the channel specified in parameter #6 to ‘Shared’. This is typically accomplished by sending a ‘Set Channel Access’ command to set the volatile access mode setting in the BMC[4].
0b=No request to BIOS to change present access mode setting.
[2:0]-BIOS Mux Control Override
000b=BIOS uses recommended setting of the mux at the end of POST (See Table 14-2, Serial Port Sharing Access Characteristics for more info.)
001b=Requests BIOS to force mux to BMC at conclusion of POST/start of OSboot. If honored, this will override the recommended setting of the mux at the end of POST
010b=Requests BIOS to force mux to system at conclusion of POST/start of OSboot. If honored, this will override the recommended setting of the mux at the end of POST

data 5-reserved
Boot Initiator Info06hAddress & Identity information for the party that initiated the boot.
data 1- Channel Number. Channel that will deliver the boot command (e.g. chassis control). BIOS and boot software (e.g. service partition or OS loader) can use the Get Channel SessionsGet Session Info command to find out information about the party that initiated the boot.
[7:4]-reserved
[3:0]-Channel Number

data 2:5-Session ID. Session ID for session that the boot command will be issued over. This value can be used with the Get Channel SessionsGet Session Info command to find out information about the party that initiated the boot. For IPMI v2.0/RMCP+ this is the Managed System Session ID that was generated by the BMC when the session was activated.
data 6:9-Boot Info Timestamp. This timestamp is used to help software determine whether the boot information is ‘stale’ or not. A service partition or OS loader may elect to ignore the boot information if it is older than expected. The boot initiator should load this field with the timestamp value from the Get SEL Time command prior to issuing the command that initiates the boot.
Boot Initiator Mailbox07hThis parameter is used as a ‘mailbox’ for holding information that directs the operation of the OS loader or service partition software.
data1: Set Selector=block selector Selects which 16-byte info block to access. 0-based.

data 2:(17) block data
BIOS ID60hdata1-cpu selector
must be 0x00
data2-boot_biosID
0x00--bios 0
0x01--bios 1
Power off timeout/PXE Option62hPower off timeout(M project only):
data 1:2-ShutdownTime, LSB First.
PXE Option:
data1-pxe option
[7:4] Reserved
[3] enable PXE2
[2] enable PEX1
[1] 1b, boot from PXE enable
0b, boot from PXE disable
[0] 1b, boot from PXE2(Base1)
0b, boot from PXE1(Base0)
BIOS write protect63hdata1
7:4--bios id
3:0--protect state(待查代码确认)
00h protect enable
01h protect disable
Pre-timeout Interrupt64hdata1 -Block Selector
data2:4- Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
data5 -Event Type
00h诊断中断事件
other Reserved
data6-Interrupt Type(当Event Type 为0时,表示中断类型)
00h-none
01h-SMI
02h-NMI/Diagnostic Interrupt
03h-Messaging Interrupt
other Reserved
data7:8-事件原因
Power on delay65hdata1~3 Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
data 4-delay mode
0: only short term delay.//禁止长延时,只有短延时(R1延时方案);是出厂默认设置。
1:long term half delay, half the servers selected randomly are delayed.//长延时,可能会有几十秒的延时,随机选择一半进行延时,是当前核心网应用场景。
2:long term fix delay, all servers are delayed.//不随机,所有指定的服务器均进行长延时。不确定场景,用于未来扩展。
3:random delay,all servers are delayed.//随机延迟,(0,指定时间]内随机延迟)
all others: reserved.
data 5~8-delay count, 100ms/count, 0h=use default delay time 说明:
delay count>=1200, use default max delay time(1200).
logic device id66hdata1:3- Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。
data 4:7-Managed system logic device id

返回到索引