Set System Boot Options
更新时间: 2025/06/26
在Gitcode上查看源码08h-设置系统启动选项(Set-System-Boot-Options)
修订记录
| openUBMC版本号 | 修订日期 | 修订内容 |
|---|---|---|
| 25.06 | 2025/06/26 | 初稿,新增命令详情 |
基本信息
功能说明
设置系统启动选项。
权限
命令信息
请求信息
| 字节顺序 | 域取值说明 |
|---|---|
| NetFn | Chassis 00h |
| CMD | 08h |
| 1 | Parameter 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. |
响应信息
| 字节顺序 | 域取值说明 |
|---|---|
| 1 | Completion Code |
| 2 | Completion 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 | 00h | data 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 Selector | 01h | data 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 Scan | 02h | data 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 Clearing | 03h | data 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 Acknowledge | 04h | data 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 Flags | 05h | data 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 Info | 06h | Address & 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 Mailbox | 07h | This 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 ID | 60h | data1-cpu selector must be 0x00 data2-boot_biosID 0x00--bios 0 0x01--bios 1 |
| Power off timeout/PXE Option | 62h | Power 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 protect | 63h | data1 7:4--bios id 3:0--protect state(待查代码确认) 00h protect enable 01h protect disable |
| Pre-timeout Interrupt | 64h | data1 -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 delay | 65h | data1~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 id | 66h | data1:3- Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 data 4:7-Managed system logic device id |