4e29f80b | 20-Aug-2024 |
Archana Kakani <archana.kakani@ibm.com> |
Add version to BaseBiosTable to prevent data loss
The initial version of the Base BIOS table did not support Value Display Names (VDN). Support for VDN was introduced in a commit [1]. A BMC image cr
Add version to BaseBiosTable to prevent data loss
The initial version of the Base BIOS table did not support Value Display Names (VDN). Support for VDN was introduced in a commit [1]. A BMC image created without VDN support stores data in the old BaseBiosTable format. If a new BMC image (with VDN support) is flashed over an older image (without VDN support), the BIOS manager attempts to read the binary archive generated by the older BIOS settings manager. Since it doesn't recognize the newly added property, it assumes the persisted file is corrupted and ignores all the saved settings.
To prevent the loss of persisted BIOS data, the versioning support provided by the Cereal library is used. This version information is utilized to convert the persisted data into the current supported format.
[1]: https://github.com/openbmc/bios-settings-mgr/commit/1a448ad88fdaec7e082b4a1c437f7f3c990402cd
Change-Id: If68be37e32ae31d7338d8933df945453a30c113a Signed-off-by: Archana Kakani <archana.kakani@ibm.com>
show more ...
|
fae57325 | 12-Nov-2024 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Remove duplicated block comments in copyrights
All the copyright headers from the repository seems to have duplicated block comments. Removing them.
Change-Id: I13ab1a10e60de14f740bac52624e1c7ac672
Remove duplicated block comments in copyrights
All the copyright headers from the repository seems to have duplicated block comments. Removing them.
Change-Id: I13ab1a10e60de14f740bac52624e1c7ac672eafc Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
773c9222 | 18-Oct-2024 |
Patrick Williams <patrick@stwcx.xyz> |
manager: allow running at non-standard path
Add an optional argument to the daemon to allow the persistent location to be a non-standard path. This enables running the application as a normal user
manager: allow running at non-standard path
Add an optional argument to the daemon to allow the persistent location to be a non-standard path. This enables running the application as a normal user on a developer system rather than requiring it to be installed in a full BMC image.
Tested:
Ran with `biosconfig-manager /tmp/bios-config-manager`:
``` $ busctl --user tree xyz.openbmc_project.BIOSConfigManager └─ /xyz └─ /xyz/openbmc_project └─ /xyz/openbmc_project/bios_config ├─ /xyz/openbmc_project/bios_config/manager └─ /xyz/openbmc_project/bios_config/password ```
Change-Id: I42f688e233060c43983d2690facbb1026e678c77 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
5c7e80d5 | 18-Oct-2024 |
Patrick Williams <patrick@stwcx.xyz> |
remove meson.options
The only option in this repository is configuring the location of the persistent file location. This is not ever leveraged by anyone. Reduce the complexity of maintaining a me
remove meson.options
The only option in this repository is configuring the location of the persistent file location. This is not ever leveraged by anyone. Reduce the complexity of maintaining a meson.option to hold a string and just move it to a constant in a header.
Change-Id: I066d88d2831d1d04fd53b47e26cd6fbcabf863d2 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
d8f9f3fb | 16-Dec-2023 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Remove an unused variable
This commit removes biosPasswordFile variable which is not used anywhere in the code.
Tested by: 1. Removed the un-used variable and daemon still compiles and builds. So t
Remove an unused variable
This commit removes biosPasswordFile variable which is not used anywhere in the code.
Tested by: 1. Removed the un-used variable and daemon still compiles and builds. So this commit is removing an already dead code. Functionally this does not impact any features.
Change-Id: Ic3a1642bff20977d34270e9d9015feee320db374 Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
show more ...
|
f19e2713 | 10-May-2023 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest
clang-format: copy latest and re-format
clang-format-16 has some backwards incompatible changes that require additional settings for best compatibility and re-running the formatter. Copy the latest .clang-format from the docs repository and reformat the repository.
Change-Id: I8eaad22ef9603fcdddf3de9d297aafbaf7472816 Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
show more ...
|
b3f7a79e | 09-May-2023 |
Smriti-Ayushi <smriti.ayushi@linux.intel.com> |
Clean up: Function abstraction in password file
Abstracted verifyPassword function in password source file to make it more readable by creating a new function named verifyIntegrityCheck.
Tested: No
Clean up: Function abstraction in password file
Abstracted verifyPassword function in password source file to make it more readable by creating a new function named verifyIntegrityCheck.
Tested: No oob-bios functionality impact.
Change-Id: I2a37eb12cbf33bcb560a819be37471adfde410b6 Signed-off-by: Smriti-Ayushi <smriti.ayushi@linux.intel.com>
show more ...
|
1a448ad8 | 03-May-2023 |
Arun Lal K M <arun.lal@intel.com> |
Show option->text of BIOS knob in Redfish response.
GET on /redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry/ shows list of Attributes under RegistryEntries. Each attribute correspo
Show option->text of BIOS knob in Redfish response.
GET on /redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry/ shows list of Attributes under RegistryEntries. Each attribute corresponds to a knob in BIOS.
If knob in BIOS is of type Enumeration, it will have 'option' with 'text' and 'value'. This text should be mapped to attribute->Value->ValueDisplayName.
Code changes are made for the same.
Tested Sample knobs from BIOS.
<knob name="AdaptiveRefreshMgmtLevel" ... > <options> <option text="Default" value="0x0"/> <option text="Level A" value="0x1"/> <option text="Level B" value="0x2"/> <option text="Level C" value="0x3"/> </options> </knob> <knob name="ADDDCEn" ... > <options> <option text="Disable" value="0x0"/> <option text="Enable" value="0x1"/> </options> </knob>
Corresponding Redfish response in BiosAttributeRegistry
{ "AttributeName": "AdaptiveRefreshMgmtLevel", "CurrentValue": "0x00", "DefaultValue": "0x00", "DisplayName": "AdaptiveRefreshMgmtLevel", "HelpText": "ARFM Level when ... ", "MenuPath": "./", "ReadOnly": false, "Type": "Enumeration", "Value": [ { "ValueDisplayName": "Default", "ValueName": "0x0" }, { "ValueDisplayName": "Level A", "ValueName": "0x1" }, { "ValueDisplayName": "Level B", "ValueName": "0x2" }, { "ValueDisplayName": "Level C", "ValueName": "0x3" } ] }, { "AttributeName": "ADDDCEn", "CurrentValue": "0x00", "DefaultValue": "0x00", "DisplayName": "ADDDCEn", "HelpText": "Enable/Disable ADDDC Sparing", "MenuPath": "./", "ReadOnly": false, "Type": "Enumeration", "Value": [ { "ValueDisplayName": "Disable", "ValueName": "0x0" }, { "ValueDisplayName": "Enable", "ValueName": "0x1" } ] }
Change-Id: Ie0134c3d47a5eae85b6838e6fe44e3ba31090c8e Signed-off-by: Arun Lal K M <arun.lal@intel.com>
show more ...
|
8c22d07b | 22-Mar-2023 |
yes <smriti.ayushi@linux.intel.com> |
Clean up: Function abstraction in password file
Abstracted verifyPassword function in password source file to make it more readable by creating a new function named verifyIntegrityCheck.
Tested: No
Clean up: Function abstraction in password file
Abstracted verifyPassword function in password source file to make it more readable by creating a new function named verifyIntegrityCheck.
Tested: No oob-bios functionality impact.
Change-Id: Id500b824f8d99b28c580ceb244f4a0114060e57e Signed-off-by: Smriti-Ayushi <smriti.ayushi@linux.intel.com>
show more ...
|
1a1dfbd2 | 17-Jan-2023 |
Arun Lal K M <arun.lal@intel.com> |
Make BiosConfig run as one service.
As of now BiosConfig runs in two service as seen below. 1) xyz.openbmc_project.biosconfig_manager.service busctl tree xyz.openbmc_project.BIOSConfigManager `-/xyz
Make BiosConfig run as one service.
As of now BiosConfig runs in two service as seen below. 1) xyz.openbmc_project.biosconfig_manager.service busctl tree xyz.openbmc_project.BIOSConfigManager `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/bios_config `-/xyz/openbmc_project/bios_config/manager
2) xyz.openbmc_project.biosconfig_password.service busctl tree xyz.openbmc_project.BIOSConfigPassword `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/bios_config `-/xyz/openbmc_project/bios_config/password
The code changes are to move functionalities of xyz.openbmc_project.biosconfig_password.service to xyz.openbmc_project.biosconfig_manager.service as shown below
busctl tree xyz.openbmc_project.BIOSConfigManager `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/bios_config |-/xyz/openbmc_project/bios_config/manager `-/xyz/openbmc_project/bios_config/password
Tested: Made sure BiosConfig functionality is not affected. Note that calls from bmcweb will now require to use service as xyz.openbmc_project.biosconfig_manager.service
Change-Id: I8adeb57ed3758041b2b9b0d1ddc714e418c4484e Signed-off-by: Arun Lal K M <arun.lal@intel.com>
show more ...
|
d0f034a2 | 29-Dec-2022 |
yes <smriti.ayushi@intel.com> |
Clean up in Password code file
Abstracted functions to make code more readable.
Tested: Verified oob-bios functionality is not altered.
Change-Id: I616a2e90566fc687702f08511955ef9a6fed3c59 Signed-
Clean up in Password code file
Abstracted functions to make code more readable.
Tested: Verified oob-bios functionality is not altered.
Change-Id: I616a2e90566fc687702f08511955ef9a6fed3c59 Signed-off-by: Smriti-Ayushi <smriti.ayushi@linux.intel.com>
show more ...
|
ad54c7cb | 29-Dec-2022 |
yes <smriti.ayushi@linux.intel.com> |
Clean up manager code file
Abstracted functions to make code more readable.
Tested: Verified oob-bios functionality is not altered.
Change-Id: Ic7487dc042e637b50c8b68e7a87c9d36465bac8b Signed-off-
Clean up manager code file
Abstracted functions to make code more readable.
Tested: Verified oob-bios functionality is not altered.
Change-Id: Ic7487dc042e637b50c8b68e7a87c9d36465bac8b Signed-off-by: Smriti-Ayushi <smriti.ayushi@linux.intel.com>
show more ...
|
616f9228 | 29-Dec-2021 |
George Liu <liuxiwei@inspur.com> |
Fix some warnings by cppcheck
Warning message: /src/manager.cpp:255:53: warning: Division by zero [core.DivideZero] if (((std::abs(attrValue - lowerBound)) % scalarIncrement) != 0)
include/pass
Fix some warnings by cppcheck
Warning message: /src/manager.cpp:255:53: warning: Division by zero [core.DivideZero] if (((std::abs(attrValue - lowerBound)) % scalarIncrement) != 0)
include/password.hpp:84:36: performance: Function parameter 'rawData' should be passed by const reference. [passedByValue] const std::string rawData, const std::string algo); ^ include/password.hpp:84:63: performance: Function parameter 'algo' should be passed by const reference. [passedByValue] const std::string rawData, const std::string algo);
Tested: Verify that there are no such warnings in local CI.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I12276f64b06e4eddfd8cd340ebc16d04e4e9ccd5
show more ...
|
2f7ba73a | 30-Sep-2021 |
Snehalatha Venkatesh <snehalathax.v@intel.com> |
Fix for changing BIOS AdminPassword through BMC
BIOS hash value doesn't match with BMC computed hash value for changing admin password
Changed the hash function as per BIOS usage to match with BMC
Fix for changing BIOS AdminPassword through BMC
BIOS hash value doesn't match with BMC computed hash value for changing admin password
Changed the hash function as per BIOS usage to match with BMC computed hash value and BIOS hash value
Tested: By giving POST to '/redfish/v1/Systems/system/Bios/Actions/Bios.ChangePassword' Body: { "NewPassword": "123456789", "OldPassword": "1234567890", "PasswordName": "AdminPassword" } Response: Success
Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com> Change-Id: Ibaf0079e471914b738f167652d6b985533f5d920
show more ...
|
5e2cb720 | 26-May-2021 |
Snehalatha Venkatesh <snehalathax.v@intel.com> |
Change Resetflag from default to Noaction
Change Resetflag from default to Noaction as BMC have to clear the default reset bios settings flag whenever new BaseTable is received from BIOS or else BIO
Change Resetflag from default to Noaction
Change Resetflag from default to Noaction as BMC have to clear the default reset bios settings flag whenever new BaseTable is received from BIOS or else BIOS will keep reset the system with default values.
Tested: Ran unit test cases and manually tested with commands. When new BaseTable is created, ResetBIOS setting will set the flag to NoAction.
Signed-off-by: Snehalatha Venkatesh <snehalathax.v@intel.com> Change-Id: Iea029b1a5a3d97c7f19bc21851972fdc5599cb8d
show more ...
|
96e72ec5 | 20-May-2021 |
Ayushi Smriti <smriti.ayushi@linux.intel.com> |
oob bios config ChangePassword Action support
Change Password ACTION was not working as expected. This implementation adds change password support in oob bios config to enable admin password change
oob bios config ChangePassword Action support
Change Password ACTION was not working as expected. This implementation adds change password support in oob bios config to enable admin password change via Redfish. Also, password storing file is removed and only hash is required to be stored in seedData File.
Tested: -Set the BIOS password via Set BIOS Pwd hash cmd via KCS interface -Change BIOS Admin password via Change Password ACTION in Redfish -Run the Get stored Pwd hash command via KCS interface -Could get the updated admin password hash and admin Password Flag gets set to true -Verified the updated changes in seedData file as well
Signed-off-by: Ayushi Smriti <smriti.ayushi@linux.intel.com> Change-Id: If23416d66f1a2daa4292113b899d180fc7bb2894
show more ...
|
8f706213 | 16-Dec-2020 |
Kuiying Wang <kuiying.wang@intel.com> |
oob bios config password and bios reset
Tested: 1. Bios reset flag can be modified throw redfish POST https://IP_ADDR/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios { "ResetFlag": "Factor
oob bios config password and bios reset
Tested: 1. Bios reset flag can be modified throw redfish POST https://IP_ADDR/redfish/v1/Systems/system/Bios/Actions/Bios.ResetBios { "ResetFlag": "Factory" } root@intel-obmc:~# busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager org.freedesktop.DBus.Properties Get ss xyz.openbmc_project.BIOSConfig.Manager ResetBIOSSettings v s "xyz.openbmc_project.BIOSConfig.Manager.ResetFlag.FactoryDefaults"
2. Bios change password: root@intel-obmc:~# cat /var/lib/bios-settings-manager/seedData { "UserPwdHash": "08D91157785366CDC3AA64D87E5E3C621EDAB13E26B6E484397EBA5E459E54C567BF5B1FFB36A43B6142B18F8D642E9D", "AdminPwdHash": "08D91157785366CDC3AA64D87E5E3C621EDAB13E26B6E484397EBA5E459E54C567BF5B1FFB36A43B6142B18F8D642E9D", "Seed": "123456", "HashAlgo": "SHA384" } POST https://IP_ADDR/redfish/v1/Systems/system/Bios/Actions/Bios.ChangePassword { "NewPassword": "12345678", "OldPassword": "1234567890", "PasswordName": "Administrator" } root@intel-obmc:~# cat /var/lib/bios-settings-manager/passwordData { "CurrentPassword": "1234567890", "IsAdminPwdChanged": 1, "IsUserPwdChanged": 0, "NewPassword": "2DD65D57EB60B1D92C5F3D2DC84724FCEE7BC02E57AA75E834712266ED94CAC704047B2FF7CEC1C36BED280B36BB5AC6", "UserName": "Administrator" }
Change-Id: Ib54b36819e49c891c6169c95d9cdaebd5bcb06f3 Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
show more ...
|
ce75d9e8 | 15-Dec-2020 |
Kuiying Wang <kuiying.wang@intel.com> |
Format source file by dos2unix
dos2unix to format source file which has dos end char ^M
Change-Id: Ie975dcd4762bf7d51f627bb6c1693f13a916481b Signed-off-by: Kuiying Wang <kuiying.wang@intel.com> |
f1101df2 | 05-Nov-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
Add serialization for bios-settings-manager
Tested: Restarted the biosconfig-manager application and BaseBIOSTable and PendingAttributes were restored.
Signed-off-by: Tom Joseph <tomjoseph@
Add serialization for bios-settings-manager
Tested: Restarted the biosconfig-manager application and BaseBIOSTable and PendingAttributes were restored.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: Iddbe69ed45a6895a324d236a14b6f21586315c62
show more ...
|
642f437e | 12-Aug-2020 |
Kuiying Wang <kuiying.wang@intel.com> |
Initial patch for RBC BIOS Config Manager
ResetBIOSSettings is not implemented as part of this patch apart from that GetAttribute, SetAttribute and setters for BaseBIOSTable, PendingAttributes is im
Initial patch for RBC BIOS Config Manager
ResetBIOSSettings is not implemented as part of this patch apart from that GetAttribute, SetAttribute and setters for BaseBIOSTable, PendingAttributes is implemeted.
Interface: xyz.openbmc_project.BIOSConfig.Manager Properties: .BaseBIOSTable property a{s(sbsssvva(sv))} 1 "testAttributeName" "xyz.openbmc_pr... emits-change writable .PendingAttributes property a{s(sv)} 2 "test1" "xyz.openbmc_project.BIOSCo... emits-change writable .ResetBIOSSettings property s "xyz.openbmc_project.BIOSConfig.Manag... emits-change writable Methods: .GetAttribute method s svv - .SetAttribute method sv - -
Tested: 1. Service is working well. 2. All the dbus methods and properties are shown correctly. 3. Unit test done. a). Tree root@intel-obmc:~# busctl tree xyz.openbmc_project.BIOSConfigManager `-/xyz `-/xyz/openbmc_project `-/xyz/openbmc_project/bios_config `-/xyz/openbmc_project/bios_config/manager b). Instrospect root@intel-obmc:~# busctl introspect xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager NAME TYPE SIGNATURE RESULT/VALUE FLAGS org.freedesktop.DBus.Introspectable interface - - - .Introspect method - s - org.freedesktop.DBus.Peer interface - - - .GetMachineId method - s - .Ping method - - - org.freedesktop.DBus.Properties interface - - - .Get method ss v - .GetAll method s a{sv} - .Set method ssv - - .PropertiesChanged signal sa{sv}as - - xyz.openbmc_project.BIOSConfig.Manager interface - - - .GetAttribute method s svv - .SetAttribute method sv - - .BaseBIOSTable property a{s(sbsssvva(sv))} 2 "attr0" "xyz.openbmc_project.BIOSCo... emits-change writable .PendingAttributes property a{s(sv)} 1 "test1" "xyz.openbmc_project.BIOSCo... emits-change writable .ResetBIOSSettings property s "xyz.openbmc_project.BIOSConfig.Manag... emits-change writable c). Method: GetAttribute/SetAttribute root@intel-obmc:~# busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager SetAttribute sv test1 s "value" root@intel-obmc:~# busctl call xyz.openbmc_project.BIOSConfigManager /xyz/openbmc_project/bios_config/manager xyz.openbmc_project.BIOSConfig.Manager GetAttribute s test1 svv "xyz.openbmc_project.BIOSConfig.Manager.AttributeType.String" x 0 s "value" d). Service root@intel-obmc:~# systemctl status xyz.openbmc_project.biosconfig_manager * xyz.openbmc_project.biosconfig_manager.service - BIOS Config Manager - For Remote BIOS configuration update Loaded: loaded (8;;file://intel-obmc/lib/systemd/system/xyz.openbmc_project.biosconfig_manager.service/lib/systemd/system/xyz.openbmc_project.biosconfig_manager.service8;;; enabled; vendor preset: enabled) Drop-In: /etc/systemd/system/xyz.openbmc_project.biosconfig_manager.service.d `-8;;file://intel-obmc/etc/systemd/system/xyz.openbmc_project.biosconfig_manager.service.d/watchdog.confwatchdog.conf8;; Active: active (running) since Thu 1970-01-01 00:00:56 UTC; 25min ago Main PID: 394 (biosconfig-mana) CGroup: /system.slice/xyz.openbmc_project.biosconfig_manager.service `-394 /usr/bin/biosconfig-manager
Jan 01 00:00:56 intel-obmc systemd[1]: Started BIOS Config Manager - For Remote BIOS configuration update.
Change-Id: I7a7312ffbdf000aab254c77ed5e4f9a8d4ec4d45 Signed-off-by: Kuiying Wang <kuiying.wang@intel.com>
show more ...
|