Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After Setting BootSourceOverrideTarget as Diags in Redfish, in IPMI chassis Bootparam get 5 command Boot Device Selector needs to show as "Force Boot from Diagnostic Partition". #200

Open
KothaiSrini opened this issue Feb 8, 2024 · 3 comments

Comments

@KothaiSrini
Copy link

KothaiSrini commented Feb 8, 2024

Change BootSourceOverrideTarget as Diags in Redfish
URI: /redfish/v1/Systems/system
METHOD: PATCH
BODY: {"Boot": {"BootSourceOverrideTarget": "Diags"}}

As per the Redfish resource and schema guide
https://redfish.dmtf.org/schemas/DSP2046_2019.2.html

image

As per IPMI spec, Boot device selector need to be 0x04 [Force Boot from Diagnostic Partition]

image

Expected Result:
After setting BootSourceOverrideTarget as Diags, In ipmi it should show Force Boot from Diagnostic Partition

@williamspatrick
Copy link
Member

The Redfish is an ordered array and the IPMI is "force a single one". How do you expect these to be reconciled?

What system are you running on? Have you configured the settings backend for holding the setting from Redfish?

Have you looked at any of the code related to that settings object in the IPMI stack? Is there an obvious bug, or is this just a lacking feature?

@KothaiSrini
Copy link
Author

@williamspatrick

Sorry attached wrong pic for Redfish schema previously, now i have edited the correct one .
For Diags the description in Redfish resource and schema guide is "Boot to the manufacturer's diagnostics program".
As per Redfish description, In IPMI spec for "Diags" it will be "Force Boot from Diagnostic Partition" (0x04).

@williamspatrick
Copy link
Member

It looks like the Redfish code sets a boot mode "Modes.Safe" for Diag. It seems most implementations expect that phosphor-settings is holding this configuration option. Have you confirmed that your phosphor-settings config has this?

https://github.com/openbmc/bmcweb/blob/b66551019cf3c31186877c30a91ff8622454f342/redfish-core/lib/systems.hpp#L840

Support for this feature in IPMI seems to be implemented, but it is guarded by an #ifdef:

{Mode::Modes::Safe, 0x03},

uint1_t{validFlag}, uint2_t{}, uint4_t{bootOption},

This flag could have been disabled in your recipe build, but it is typically enabled by default:

meta-phosphor/recipes-phosphor/ipmi/phosphor-ipmi-host_git.bb
24:PACKAGECONFIG ??= "allowlist i2c-allowlist boot-flag-safe-mode softoff libuserlayer entity-manager-decorators"
30:PACKAGECONFIG[boot-flag-safe-mode] = "-Dboot-flag-safe-mode-support=enabled,-Dboot-flag-safe-mode-support=disabled"

At this point you're going to need to give a lot more information about your set up and/or debug this further yourself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants