busctl 命令使用介绍
更新时间:2025/10/15
在Gitcode上查看源码

busctl 命令使用介绍

1. 背景

目前openUBMC组件基于D-Bus开发,所有的进程间公共资源在D-Bus中进行管理。对组件而言,使用预定义的资源树进行解耦,降低组件间依赖。busctl是systemd提供的一个D-Bus操作工具,可以用来帮助我们直接对每个组件的属性、方法进行操作,以此观察组件的业务功能是否正常。

相关资料:

2. 概念介绍

  • D-Bus:一种协议,实现了进程间通信的两种方式(RPC、发布/订阅),我们使用的是其中一种实现sdbus。
  • 总线:一种应用于进程间通信的机制。一般有两个总线,分别为系统总线和会话总线,前者由系统与后台进程使用,后者由普通进程创建,用于进程间传递消息与远程调用。我们使用会话总线(busctl需要使用--user参数)。
  • 服务:每个进程提供的对象合集,标识一个D-Bus连接。
  • 对象:看起来像一个Linux路径,每个对象路径提供不同的接口。
  • 接口:通过接口挂载一组方法和属性。
  • 方法:具体实现业务逻辑的方法,例如新建用户。
  • 属性:标识一个属性值,可以设置为只读或者读写。
  • 签名:对应方法和属性的参数类型。

3. 环境准备

busctl命令运行需要依赖环境的D-Bus运行,涉及两个环境变量需要设置:

bash
# 在环境上执行如下命令
source /etc/profile

# 或者也可以只执行如下环境变量的预置
export $(cat /dev/shm/dbus/.dbus)

# 环境变量类似这样:
# DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-WaRKgV2RBe,guid=627192aff1f4bf50b871be0562272a36
# DBUS_SESSION_BUS_PID=1719

D-Bus运行的情况可以使用ps命令查看。

4. 命令介绍

整体命令包括查询信息、设置属性、调用方法几类。根据相关签名,可以构造对应数据,涉及数组类型数据的,参数传递时,第一个参数是数组长度n,后续n个参数是对应的数组内容,其中byte数组对应的是对应的int数值。

4.1 查看服务提供的所有对象资源路径

bash
busctl --user tree

4.2 查看对象资源的方法和属性

bash
busctl --user introspect bmc.kepler.iam /bmc/kepler/AccountService/Accounts/2
busctl --user introspect bmc.kepler.iam /bmc/kepler/SessionService/Sessions

4.3 设置对象属性

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/Accounts/3 bmc.kepler.AccountService.ManagerAccount UserName s test3333

4.4 获取对象属性

bash
busctl --user get-property bmc.kepler.iam /bmc/kepler/AccountService/Accounts/2 bmc.kepler.AccountService.ManagerAccount UserName

4.5 方法调用示例

bash
# 新建账户
busctl --user call bmc.kepler.iam /bmc/kepler/AccountService/Accounts bmc.kepler.AccountService.ManagerAccounts New a{sv}ysayyay 3 Interface s Web UserName s Administrator ClientAddr s 127.0.0.1 7 test7 11 65 100 109 105 110 64 57 48 48 48 48 4 1 2

# 新建会话
busctl --user call bmc.kepler.iam /bmc/kepler/SessionService/Sessions bmc.kepler.SessionService.Sessions NewSession a{ss}sayyssy 0 Administrator 11 65 100 109 105 110 64 57 48 48 48 48 0 LocaliBMC 192.168.1.1 0

# 时区设置
busctl --user set-property bmc.kepler.bmc_time /bmc/kepler/Managers/1 bmc.kepler.Managers.Time TimeZoneName s -- "-11:59"

# 网络IP设置
busctl --user call bmc.kepler.bmc_network /bmc/kepler/bmc_network bmc.kepler.bmc_network SetIpMaskGateway sss <ip> 255.255.252.0 xx.xx.16.1

5. 签名类型

签名的参数对应GVariant定义,参考:https://www.freedesktop.org/software/gstreamer-sdk/data/docs/latest/glib/glib-GVariant.html#GVariant

c
新建账户
busctl --user call bmc.kepler.iam /bmc/kepler/AccountService/Accounts bmc.kepler.AccountService.ManagerAccounts New a{sv}ysayyay 3 Interface s Web UserName s Administrator ClientAddr s 127.0.0.1 7 test7 11 65 100 109 105 110 64 57 48 48 48 48 4 1 2

新建会话
busctl --user call bmc.kepler.iam /bmc/kepler/SessionService/Sessions bmc.kepler.SessionService.Sessions NewSession a{ss}sayyssy 0 Administrator 11 65 100 109 105 110 64 57 48 48 48 48 0 LocaliBMC 192.168.1.1 0

时区设置
busctl --user set-property bmc.kepler.bmc_time /bmc/kepler/Managers/1 bmc.kepler.Managers.Time TimeZoneName s -- "-11:59"

网络ip设置
busctl --user call bmc.kepler.bmc_network /bmc/kepler/bmc_network bmc.kepler.bmc_network SetIpMaskGateway sss <ip> 255.255.252.0 xx.xx.16.1

签名类型

签名的参数对应gvariant定义https://www.freedesktop.org/software/gstreamer-sdk/data/docs/latest/glib/glib-GVariant.html#GVariant

c
typedef enum {
  G_VARIANT_CLASS_BOOLEAN       = 'b',
  G_VARIANT_CLASS_BYTE          = 'y',
  G_VARIANT_CLASS_INT16         = 'n',
  G_VARIANT_CLASS_UINT16        = 'q',
  G_VARIANT_CLASS_INT32         = 'i',
  G_VARIANT_CLASS_UINT32        = 'u',
  G_VARIANT_CLASS_INT64         = 'x',
  G_VARIANT_CLASS_UINT64        = 't',
  G_VARIANT_CLASS_HANDLE        = 'h',
  G_VARIANT_CLASS_DOUBLE        = 'd',
  G_VARIANT_CLASS_STRING        = 's',
  G_VARIANT_CLASS_OBJECT_PATH   = 'o',
  G_VARIANT_CLASS_SIGNATURE     = 'g',
  G_VARIANT_CLASS_VARIANT       = 'v',
  G_VARIANT_CLASS_MAYBE         = 'm',
  G_VARIANT_CLASS_ARRAY         = 'a',
  G_VARIANT_CLASS_TUPLE         = '(',
  G_VARIANT_CLASS_DICT_ENTRY    = '{'
} GVariantClass;

GVariant类型的取值范围:

类型说明
G_VARIANT_CLASS_BOOLEANThe GVariant is a boolean.
G_VARIANT_CLASS_BYTEThe GVariant is a byte.
G_VARIANT_CLASS_INT16The GVariant is a signed 16 bit integer.
G_VARIANT_CLASS_UINT16The GVariant is an unsigned 16 bit integer.
G_VARIANT_CLASS_INT32The GVariant is a signed 32 bit integer.
G_VARIANT_CLASS_UINT32The GVariant is an unsigned 32 bit integer.
G_VARIANT_CLASS_INT64The GVariant is a signed 64 bit integer.
G_VARIANT_CLASS_UINT64The GVariant is an unsigned 64 bit integer.
G_VARIANT_CLASS_HANDLEThe GVariant is a file handle index.
G_VARIANT_CLASS_DOUBLEThe GVariant is a double precision floating point value.
G_VARIANT_CLASS_STRINGThe GVariant is a normal string.
G_VARIANT_CLASS_OBJECT_PATHThe GVariant is a D-Bus object path string.
G_VARIANT_CLASS_SIGNATUREThe GVariant is a D-Bus signature string.
G_VARIANT_CLASS_VARIANTThe GVariant is a variant.
G_VARIANT_CLASS_MAYBEThe GVariant is a maybe-typed value.
G_VARIANT_CLASS_ARRAYThe GVariant is an array.
G_VARIANT_CLASS_TUPLEThe GVariant is a tuple.
G_VARIANT_CLASS_DICT_ENTRYThe GVariant is a dictionary entry.

6. 常用命令示例

6.1 Trust组件命令

查看证书服务资源信息

bash
busctl --user introspect bmc.kepler.trust /bmc/kepler/CertificateService

导入CA证书

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService ImportCert a{ss}issu 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0 URI /tmp/ca.crt 0

busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService ImportCert a{ss}issu 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0 text ./redfish/test/integration/.test_temp_data/RootCA.crt 0

查看CA证书

bash
busctl --user introspect bmc.kepler.trust /bmc/kepler/Managers/1/Certificates/1
busctl --user get-property bmc.kepler.trust /bmc/kepler/Managers/1/Certificates/1 bmc.kepler.CertificateService.Certificate Subject

查看SSL证书

bash
busctl --user introspect bmc.kepler.trust /bmc/kepler/Managers/1/NetworkProtocol/HTTPS/Certificates/1
busctl --user get-property bmc.kepler.trust /bmc/kepler/Managers/1/NetworkProtocol/HTTPS/Certificates/1 bmc.kepler.CertificateService.Certificate Subject

导入带私钥的SSL证书

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService ImportCertWithKey a{ss}sss 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 URI /tmp/cert.p12 123456

busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService ImportCertWithKey a{ss}sss 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 URI "https://75.255.11.115:18082/openssl3/v5/server_chain.p12" 123456

注意: 有时需要重设BMC时间,否则证书因时间不正确无法导入:

bash
date -s "2023-05-30 00:00:00"

开始生成CSR

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService StartGenerateCSR a{ss}ssssss 0 CN '' '' '' '' HW

检查生成CSR的状态

查看CSR任务即可:

bash
busctl --user introspect bmc.kepler.trust /bmc/kepler/CertificateService/TaskService/Tasks/

导入CSR签名的证书

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService ImportCert a{ss}issu 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 1 /tmp/ssl.cert 0

获取证书链信息

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService GetCertChainInfo a{ss}iu 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0 4

导出证书私钥到FIFO管道

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService ExportCertKeyByFIFO a{ss}i 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 1

导入吊销列表

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService ImportCRL a{ss}ssu 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 URI /tmp/test.crl 0

删除吊销列表

bash
busctl --user call bmc.kepler.trust /bmc/kepler/Managers/1/Certificates/1 bmc.kepler.CertificateService.Certificate DeleteCRL a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

加密套件相关

查看加密套件方法:

bash
busctl --user introspect bmc.kepler.trust /bmc/kepler/Managers/1/Security/TlsConfig/CipherSuits

查看具体某个加密套件属性:

bash
busctl --user introspect bmc.kepler.trust /bmc/kepler/Managers/1/Security/TlsConfig/CipherSuits/2

修改加密套件:

bash
busctl --user call bmc.kepler.trust /bmc/kepler/Managers/1/Security/TlsConfig/CipherSuits bmc.kepler.Managers.Security.TlsConfig.CipherSuits SetSslCipherSuit a{ss}aiab 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 2 1 2 2 1 0

获取证书路径

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService GetCertPath a{ss}i 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0

设置SSL证书生成算法

bash
busctl --user set-property bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService SSLCertAlgorithm y 1

修改证书过期告警时间

bash
busctl --user set-property bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService CertOverdueWarnDays u 89

设置默认证书名称

bash
busctl --user call bmc.kepler.trust /bmc/kepler/CertificateService bmc.kepler.CertificateService SetDefaultSSLCertSubject a{ss}sss 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 CN 'Huawei IT Product CA' Huawei

查看用户ID为2的信息

bash
busctl --user introspect bmc.kepler.iam /bmc/kepler/AccountService/Accounts/2

查看会话基本属性信息

bash
busctl --user introspect bmc.kepler.iam /bmc/kepler/SessionService

查看账户基本属性信息

bash
busctl --user introspect bmc.kepler.iam /bmc/kepler/AccountService

设置用户ID为2的用户提示修改首次登录密码

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/Accounts/2 bmc.kepler.AccountService.ManagerAccount FirstLoginPolicy y 1
busctl --user get-property bmc.kepler.iam /bmc/kepler/AccountService/Accounts/2 bmc.kepler.AccountService.ManagerAccount FirstLoginPolicy

设置用户ID为2的用户强制修改首次登录密码

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/Accounts/2 bmc.kepler.AccountService.ManagerAccount FirstLoginPolicy y 2

关闭所有用户的首次登录提示(暂不适用)

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService bmc.kepler.AccountService.Security InitialPasswordPromptEnable b 0

打开所有用户的首次登录提示(暂不适用)

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService bmc.kepler.AccountService.Security InitialPasswordPromptEnable b 1

设置用户名

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/Accounts/3 bmc.kepler.AccountService.ManagerAccount UserName s a

设置锁定次数

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService bmc.kepler.AccountService.Security AccountLockoutThreshold i 4
busctl --user get-property bmc.kepler.iam /bmc/kepler/AccountService bmc.kepler.AccountService.Security AccountLockoutThreshold

会话超时设置

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/SessionService/GUI bmc.kepler.SessionService SessionTimeout u 300
busctl --user get-property bmc.kepler.iam /bmc/kepler/SessionService/GUI bmc.kepler.SessionService SessionTimeout

设置逃生用户

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService bmc.kepler.AccountService.Security EmergencyLoginAccountId y 9

查询会话列表

bash
busctl --user tree bmc.kepler.iam

其中,/bmc/kepler/SessionService/Sessions下面展示了所有的会话信息。

新建用户

bash
busctl --user call bmc.kepler.iam /bmc/kepler/AccountService/Accounts bmc.kepler.AccountService.ManagerAccounts New a{ss}ysayyay 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 5 dzTJZkOsQL 14 65 56 100 50 109 105 110 64 104 119 49 50 35 36 4 7 64 8 16 4 1 128 2

设置用户角色

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/Accounts/7 bmc.kepler.AccountService.ManagerAccount RoleId y 4

删除会话

bash
busctl --user call bmc.kepler.iam /bmc/kepler/SessionService/Sessions/{id} bmc.kepler.SessionService.Session SessionDelete a{ss}y 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0

设置密码

bash
busctl --user call bmc.kepler.iam /bmc/kepler/AccountService/Accounts/2 bmc.kepler.AccountService.ManagerAccount ChangePwd a{ss}ay 3 Interface Web UserName Administrator ClientAddr 127.0.0.1 xx xx xx xx xx xx xx xx xx xx xx xx

设置LDAP的UserDomain

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/LDAP/LDAPController/1 bmc.kepler.AccountService.LDAP.LDAPController UserDomain s "CN=test,DC=huawei,DC=com"
busctl --user introspect bmc.kepler.iam /bmc/kepler/AccountService/LDAP/LDAPController/1 bmc.kepler.AccountService.ManagerAccount RoleId y 4

SNMP相关

设置长团体名使能(读写团体名使能RwCommunityEnabled):

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/Managers/1/SnmpService/SnmpCommunity bmc.kepler.Managers.SnmpService.SnmpCommunity LongCommunityEnabled b false

查询长团体名使能:

bash
busctl --user get-property bmc.kepler.iam /bmc/kepler/Managers/1/SnmpService/SnmpCommunity bmc.kepler.Managers.SnmpService.SnmpCommunity LongCommunityEnabled

获取团体名:

bash
busctl --user call bmc.kepler.iam /bmc/kepler/Managers/1/SnmpService/SnmpCommunity bmc.kepler.Managers.SnmpService.SnmpCommunity GetSnmpCommunity a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

设置团体名:

bash
busctl --user call bmc.kepler.iam /bmc/kepler/Managers/1/SnmpService/SnmpCommunity bmc.kepler.Managers.SnmpService.SnmpCommunity SetRoCommunity a{ss}s 3 Interface Busctl UserName Administrator ClientAddr 127.1.2.1 xxxxxx

设置SNMP登录规则:

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/Accounts/20 bmc.kepler.AccountService.ManagerAccount LoginRuleIds as 1 Rule2

设置登录规则使能:

bash
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/Rules/2 bmc.kepler.AccountService.Rule Enabled b 1
busctl --user set-property bmc.kepler.iam /bmc/kepler/AccountService/Rules/2 bmc.kepler.AccountService.Rule IpRule s 12.12.12.12

校验登录规则:

bash
busctl --user call bmc.kepler.iam /bmc/kepler/AccountService/Authorization bmc.kepler.AccountService.Authorization LoginRuleCheck a{ss}s 3 Interface Busctl UserName Administrator ClientAddr 127.1.2.1 <snmp_community>

6.3 其他组件命令

升级相关

获取升级状态:

bash
busctl --user call bmc.kepler.firmware_mgmt /bmc/kepler/UpdateService bmc.kepler.UpdateService GetUpgradeStatus a{ss}u 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 1

开始升级(最后一个参数是文件路径):

bash
busctl --user call bmc.kepler.firmware_mgmt /bmc/kepler/UpdateService bmc.kepler.UpdateService StartUpgrade a{ss}is 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 1 /tmp/openUBMC.hpm

AC重启:

bash
busctl --user call bmc.kepler.fructrl /bmc/kepler/Systems/1/FruCtrl/FruCtrl_1_0_0004 bmc.kepler.Systems.FruCtrl PowerCtrl a{ss}ss 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 ACCycle Unknown

强制复位BMC:

bash
busctl --user call bmc.kepler.maca /bmc/kepler/MacaService bmc.kepler.SystemControl ForceReset a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

将串口切换到BMC:

系统默认会将串口切换到OS侧,升级后可通过以下命令将串口切换到BMC,一键设置,永久有效:

bash
busctl --user call bmc.kepler.bmc_soc /bmc/kepler/Managers/1/SerialManagement/SerialManagement_1_00 bmc.kepler.Managers.SerialManagement SetConnectStatus a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

soctrl组件

导入伙伴根hash:

bash
busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ImportCustomCertificateHash a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

导出伙伴根hash:

bash
# PKCS格式
busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ExportCustomCertificateHash a{ss}i 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0

# PSS格式
busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ExportCustomCertificateHash a{ss}i 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 1

禁用安全启动校验:

bash
busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot DisableBootVerification a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

导出维修凭证:

bash
busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ExportRepairCredentials a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

导入维修凭据:

bash
busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ImportRepairCredentials a{ss}ay 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0

FileTransfer组件

下载文件:

bash
busctl --user call bmc.kepler.file_transfer /bmc/kepler/Managers/1/FileTransfer bmc.kepler.Managers.FileTransfer StartTransfer a{ss}ssuuuu 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 https://127.0.0.1:8443/data/trust/cert/ca/7a31456c.0 file:///tmp/test.crt 100000 1000 10000 384

查看FileTransfer服务资源:

bash
busctl --user tree bmc.kepler.file_transfer
busctl --user introspect bmc.kepler.file_transfer /bmc/kepler/Managers/1/FileTransfer/Tasks/0

禁用证书校验:

bash
busctl --user set-property bmc.kepler.file_transfer /bmc/kepler/Managers/1/FileTransfer bmc.kepler.Managers.FileTransfer HttpsTransferCertVerification b false

maca组件

设置日志级别:

bash
busctl --user set-property bmc.kepler.maca /bmc/kepler/maca/MicroComponent bmc.kepler.MicroComponent.Debug DlogLevel s info

升级

获取升级状态 busctl --user call bmc.kepler.firmware_mgmt /bmc/kepler/UpdateService bmc.kepler.UpdateService GetUpgradeStatus a{ss}u 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 1

开始升级,最后一个参数是文件路径 busctl --user call bmc.kepler.firmware_mgmt /bmc/kepler/UpdateService bmc.kepler.UpdateService StartUpgrade a{ss}is 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 1 /tmp/openUBMC.hpm

AC重启 busctl --user call bmc.kepler.fructrl /bmc/kepler/Systems/1/FruCtrl/FruCtrl_1_0_0004 bmc.kepler.Systems.FruCtrl PowerCtrl a{ss}ss 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 ACCycle Unknown

强制复位BMC busctl --user call bmc.kepler.maca /bmc/kepler/MacaService bmc.kepler.SystemControl ForceReset a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

系统默认会将串口切换到OS侧,大家升级后可通过命令 busctl --user call bmc.kepler.bmc_soc /bmc/kepler/Managers/1/SerialManagement/SerialManagement_1_00 bmc.kepler.Managers.SerialManagement SetConnectStatus a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 将串口切换到BMC,一键设置,永久有效

soctrl

导入伙伴根hash busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ImportCustomCertificateHash a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

导出伙伴根hash busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ExportCustomCertificateHash a{ss}i 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0 -- pkcs busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ExportCustomCertificateHash a{ss}i 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 1 -- pss

禁用安全启动校验 busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot DisableBootVerification a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

导出维修凭证 busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ExportRepairCredentials a{ss} 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1

导入维修凭据 busctl --user call bmc.kepler.soctrl /bmc/kepler/Managers/1/SOC/SecureCore bmc.kepler.Managers.SOC.SecureCore.SecureBoot ImportRepairCredentials a{ss}ay 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 0

FileTransfer

下载文件 busctl --user call bmc.kepler.file_transfer /bmc/kepler/Managers/1/FileTransfer bmc.kepler.Managers.FileTransfer StartTransfer a{ss}ssuuuu 3 Interface Busctl UserName Administrator ClientAddr 127.0.0.1 https://127.0.0.1:8443/data/trust/cert/ca/7a31456c.0 file:///tmp/test.crt 100000 1000 10000 384

busctl --user tree bmc.kepler.file_transfer

busctl --user introspect bmc.kepler.file_transfer /bmc/kepler/Managers/1/FileTransfer/Tasks/0

禁用证书校验 busctl --user set-property bmc.kepler.file_transfer /bmc/kepler/Managers/1/FileTransfer bmc.kepler.Managers.FileTransfer HttpsTransferCertVerification b false

maca

设置日志级别 busctl --user set-property bmc.kepler.maca /bmc/kepler/maca/MicroComponent bmc.kepler.MicroComponent.Debug DlogLevel s info