System Boot Parameters 相关表项详情
更新时间:2025/06/26
在Gitcode上查看源码

修订记录

openUBMC版本号修订日期修订人修订内容
25.062025/06/26pengqiang-gs初稿,新增

Boot Option Parameters

Parameter#Parameter Data (non-volatile unless otherwise noted)
Set In Progress (volatile)0data 1 - This parameter is used to indicate when any of the following parameters are being updated, and when the updates are completed. The bit is primarily provided to alert software that some other software or utility is in the process of making changes to the data.
An implementation can also elect to provide a ‘rollback’ feature that uses this information to decide whether to ‘roll back’ to the previous configuration information, or to accept the configuration change.
If used, the roll back shall restore all parameters to their previous state. Otherwise, the change shall take effect when the write occurs.
[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 (semi-volatile)1data 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 (non-volatile)2data 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 (semi-volatile)3data 1- BMC boot flag valid bit clearing. Default = 00000b.
[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 (semi-volatile)4These flags are used to allow individual parties to track whether they’ve already seen and handled the boot information. Applications that deal with boot information should check the boot info and clear their corresponding bit after consuming the boot options data.

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 (semi-volatile)5data 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

BIOS support for the following flags is optional. If a given flag is supported, it must cause the specified function to occur in order for the implementation to be considered to be conformant with this specification.

The following parameters represent temporary overrides of the BIOS default settings when data1[6] has value 0b (one-boot), and represent requests to persistently change the BIOS boot behavior when data1[6] has value 1b (persistent). BIOS should only use the following flags when the boot flags valid bit (data1[7]) is set (1b).

If data[6] = 0b (one-boot) a value of 0 for a given data2 parameter indicates that BIOS should use its default configuration for the given option (no override) - a non-zero value requests BIOS to enter the requested state.

If data[6] = 1b (persistent) BIOS is requested to change its setting according to the flag.This only applies to parameters labeled “”. Settings for other parameters are ignored.

data 2
[7] - 1b = CMOS clear
[6] - 1b = Lock Keyboard
[5:2] - Boot device selector 
 0000b = No override
 0001b = Force PXE
 0010b = Force boot from default Hard-drive[2]
 0011b = Force boot from default Hard-drive, request Safe Mode[2]
 0100b = Force boot from default Diagnostic Partition[2]
 0101b = Force boot from default CD/DVD[2]
 0110b = Force boot into BIOS Setup
 0111b = Force boot from remotely connected (redirected) Floppy/primary removable media[2]
 1001b = Force boot from primary remote media[2]
 1000b = Force boot from remotely connected (redirected) CD/DVD[2]
 1010b = reserved
 1011b = Force boot from remotely connected (redirected) Hard Drive[2]
 1100-1110b = Reserved
 1111b = Force boot from Floppy/primary removable media[2]
[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] - 0b (1b = Force progress event traps for [IPMI 2.0]).
[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.
[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[3]
Can be used to request BIOS to temporarily place the channel into Shared access mode. Per the recommendations in Serial Port Sharing Access Characteristics, ‘Shared’ access causes the baseboard serial controller to remain enabled after POST/start of OS boot while also allowing the BMC to be accessible. This can be useful when booting to an alternative device such as a Diagnostic Partition since it means the partition can use the serial port but that communication with the BMC can remain available if the partition software fails.

Note: BIOS should only pay attention this field if when the ‘valid’ flag is set and the ‘BIOS/POST has handled boot info’ flag is set.
 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.
 0b = No request to BIOS to change present access mode setting.

[2:0] -BIOS Mux Control Override
Can be used to request BIOS to force a particular setting of the serial/modem mux at the conclusion of POST / start of OS boot. This override takes precedence over the mux settings for the access mode even if the BIOS Shared Mode Override is set.

Note: BIOS should only pay attention this field if when the ‘valid’ flag is set and BIOS/POST has handled boot info flag is set.
 000b = BIOS uses recommended setting of the mux at the end of POST (See 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 (See Serial Port Sharing Access Characteristics for more info.)
 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 (See Serial Port Sharing Access Characteristicsfor more info.)

data 5 -
[7:5] – reserved
[4:0] – Device Instance Selector
If this value is 0, then there is no change to Boot Device Selector behavior. If this value is not zero, then the behavior of Boot Device Selector for the following values
 0001b = Force PXE
 0010b = Force boot from default Hard-drive,
 0011b = Force boot from default Hard-drive, request Safe Mode,
 0101b = Force boot from default CD/DVD,
 0111b = Force boot from remotely connected (redirected) Floppy/primary removable media
 1000b = Force boot from remotely connected (redirected) CD/DVD
 1001b = Force boot from primary remote media
 1011b = Force boot from remotely connected (redirected) Hard Drive
 1111b = Force boot from Floppy/primary removable media is modified to use the value in this parameter to select a particular instance of a device of that type to boot from.

For example, if the Boot Device Selector were 0010b (Hard-drive) and the Logical Device selector was 00010b, it would select logical external hard drive 1. Devices instances may be physical or logical depending on the system.

The system should attempt to boot from the specified device instance first. If the boot fails the system should attempt booting using the system's boot order configuration. If the requested value is out of the range of logical devices, then the system should treat the value as zero.
 00000b = no specific device instance requested
 00001b to 01111b = external (direct attached) device instance 1 to 15, respectively
 10000b = reserved
 10001b to 11111b = internal device instance number 1 to 15, respectively
boot initiator info (semi-volatile)6Address & Identity information for the party that initiated the boot. The party that initiates the boot writes this parameter and the boot info acknowledge parameter prior to issuing the command that causes the system power up, power cycle, or reset. This data is normally written by the remote console application, not the BMC.

boot source
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 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 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 (semi-volatile)7This parameter is used as a ‘mailbox’ for holding information that directs the operation of the OS loader or service partition software. The data content is specified by the software vendor.

Note: Since this information will be retained by the BMC and may be readable by other software entities, care should be taken to avoid using it to carry ‘secret’ data.

data1: Set Selector = block selector
Selects which 16-byte info block to access. 0-based.

data 2:(17) block data
The first three bytes of block #0 are required to be an IANA Enterprise ID Number (least significant byte first) for the company or organization that has specified the loader. Up to 16-bytes per block of information regarding boot initiator, based on protocol and medium.
An implementation is required to support at least 80-bytes (five blocks) of storage for this command. Previous values are overwritten. The BMC does not automatically clear any remaining data bytes if fewer than 16 bytes are written to a given block.
OEM Parameters (optional. Non-volatile or volatile as specified by OEM)96:127This range is available for special OEM configuration parameters. The OEM is identified according to the Manufacturer ID field returned by the Get Device ID command.