代码仓
中
bmc_time
更新时间: 2026/11/09
在AtomGit上查看源码

bmc_time ​

版本信息 ​

项目内容
组件版本1.140.4
首发版本openUBMC 25.3.0
文档作者openUBMC
最后更新2026-11-02

1. 组件概述 ​

1.1 组件简介 ​

bmc_time 是 openUBMC 中负责 BMC 时间管理的组件,提供系统时间管理、NTP 时间同步、时区/夏令时管理、RTC 时间维护以及 NTP 身份认证组密钥管理等能力。它通过北向资源协作接口接收 Web/CLI/Redfish/IPMI 的时间相关命令,统一调度系统时间、RTC(SMC 芯片)和 NTP(ntpd 客户端)三者之间的时间同步关系。

bmc_time 组件在系统中的定位:

  • 统一的时间管理中枢,屏蔽不同硬件平台 RTC 芯片寄存器与 NTP 实现的差异;
  • 保证 BMC 系统时间、RTC 时间、NTP 服务器时间的一致性;
  • 通过持久化保证掉电后时间不丢失,通过时间跳变检测与同步结果上报提升可观测性。

1.2 解决什么问题 ​

  • 时间一致性:统一管理系统时间、RTC、NTP 三种时间源,避免时间源之间互相覆盖;
  • 掉电保持:将时间持久化保存,BMC 重启后从持久化数据或 RTC 恢复时间;
  • 自动校时:通过 NTP 客户端周期同步服务器时间,支持静态/DHCP 两种服务器获取模式;
  • 时区正确性:支持城市时区与 UTC 偏移两种配置方式,支持夏令时开关;
  • 安全校时:支持 NTP 身份认证组密钥导入,并在主备板之间同步,防止非法时间服务器篡改;
  • 配置迁移:支持 NTP、时区等敏感配置的周期导出/变更导出/导入,便于批量部署。

1.3 核心功能 ​

  • 系统时间管理:设置/查询系统时间,时间跳变检测(TimeHoppingThreshold),同步状态上报;
  • RTC 时间维护:从 RTC 周期同步系统时间,支持 SMC 芯片读写偏移/长度/格式定制,NTP 同步失败可切换 RTC;
  • NTP 时间同步:支持首选/备选/扩展服务器、轮询间隔配置、静态与 DHCP(IPv4/IPv6)模式;
  • 时区与夏令时管理:城市时区(如 Asia/Shanghai)与 UTC 偏移(如 +08:00)双模式,DST 开关;
  • NTP 身份认证:NTP 组密钥导入(同步/异步)、组密钥状态上报、主备板组密钥同步(DataSync);
  • 敏感配置导入导出:NTP/时区等配置的周期导出、变更导出与导入;
  • IPMI 支持:SEL 时间、SDR 仓库时间、NTP OEM 命令;
  • 持久化:时间戳、时区、NTP 等配置掉电保存。

1.4 关键术语表 ​

术语解释
NTPNetwork Time Protocol,网络时间协议,BMC 通过 ntpd 客户端从 NTP 服务器同步时间
UTC协调世界时,UTC+偏移即本地时间
RTCReal Time Clock,实时时钟芯片(SMC),BMC 掉电后仍可走时
时间戳UNIX 时间戳,自 1970-01-01 00:00:00 UTC 起经过的秒数
时区TimeZoneName/DateTimeLocalOffset,本地时间相对 UTC 的偏移
DSTDaylight Saving Time,夏令时,启用后自动按夏令时规则调整本地时间
时间跳变系统时间发生非预期的大幅变化(超过 TimeHoppingThreshold 门限)
组密钥NTP 身份认证使用的共享密钥,用于验证 NTP 服务器身份
敏感配置NTP、时区等需要安全导出/导入的配置集合

1.5 外部交互边界图 ​

2. API 使用说明与示例 ​

2.1 SetDateTime 设置系统时间 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.SetDateTime                        method    a{ss}a{ss}            -                      -

功能说明 ​

设置 BMC 系统时间,支持同时设置日期时间与时区/偏移。北向设置时间的命令最终都汇聚到该接口。

属性内容
接口名bmc.kepler.Managers.Time
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
TimeParams输入a{ss} (Dictionary)时间参数集合,含 TimeZone、TimeStamp、DSTEnable 键值,值都是字符串类型TimeZone 形如 'UTC+08:00',TimeStamp 形如 '1786154400',DSTEnable 取值为true/false

返回值与异常 ​

该方法无返回值,执行结果通过 D-Bus 异常(Error)上报:调用成功时无返回内容;执行失败时抛出如下异常。

异常类型含义触发条件处理建议
InvalidValue参数取值非法机型不支持配置时区(TimeZoneConfigurable=false)时设置 TimeZone;DSTEnable 取值不是 true/false;TimeStamp 不是合法时间戳或系统时间设置失败按取值范围传入合法参数
PropertyValueNotInList参数不在取值列表TimeZoneName 不在支持的时区列表中传入受支持的时区名称
PropertyModificationNotSupported属性不支持修改NTP 已使能且非新策略时设置 DateTime;传入未知的参数键关闭 NTP 后再设置时间,或移除不支持的参数
InternalError内部错误时区配置写入或内部处理失败查看日志定位问题,稍后重试

应用场景 ​

  • Web/CLI/Redfish 手动设置系统时间;
  • IPMI SetSelTime / SetSDRRepoTime 命令的内部实现通道。

限制条件 ​

  • 需要 BasicSetting 及以上权限;
  • 设置时间将同步更新 RTC 时间;
  • 时间参数须通过时间戳格式校验,非法日期时间会返回失败。

调试示例 ​

bash
busctl --user call bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 \
    bmc.kepler.Managers.Time SetDateTime a{ss}a{ss} \
    0 3 TimeZone 'UTC+08:00' TimeStamp '1786154400' DSTEnable 'false'

2.2 SetRtcTime 设置 RTC 时间 ​

bash
NAME                             TYPE          SIGNATURE             RESULT/VALUE           FLAGS
.SetRtcTime                      method     a{ss}t                   -                      -

功能说明 ​

通过时间戳直接设置 RTC 芯片时间,并同步更新系统时间。

属性内容
接口名bmc.kepler.Managers.Time
首发版本openUBMC 25.6.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
TimeStamp输入t (U64)UNIX 时间戳(秒)1970-01-01 00:00:00 UTC 以来的秒数

返回值与异常 ​

该方法无返回值,执行结果通过 D-Bus 异常(Error)上报:调用成功时无返回内容;执行失败时抛出如下异常。

异常类型含义触发条件处理建议
InternalError内部错误写 RTC 芯片失败(RTC 读写返回失败;或 IPMI 场景下 RTC 写偏移 WriteOffset 未配置/不可写)检查 CSR 中 CpuBrdRtc 引用的 BlockIO 配置与 RTC 链路

应用场景 ​

  • 主板与备板 RTC 时间同步;
  • 备板升主板后同步 RTC 时间。

限制条件 ​

  • 需要 BasicSetting 及以上权限;
  • RTC 读写依赖 CSR 中 CpuBrdRtc 引用的 BlockIO 配置。

调试示例 ​

bash
busctl --user call bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 \
    bmc.kepler.Managers.Time SetRtcTime a{ss}t 0 1769940000

2.3 SetPollingInterval 设置 NTP 轮询间隔 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.SetPollingInterval                 method    a{ss}yy               -                      -

功能说明 ​

设置 NTP 最小/最大轮询间隔,控制 BMC 向 NTP 服务器请求时间的频率。

属性内容
接口名bmc.kepler.Managers.Ntp
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
MinPoll输入y (U8)最小轮询间隔指数,实际间隔为 2 的 MinPoll 次方秒0-17,且须大于Time对象的MinPoll,小于MaxPoll
MaxPoll输入y (U8)最大轮询间隔指数,实际间隔为 2 的 MaxPoll 次方秒0-17,且须大于Time对象的MinPoll,小于MaxPoll

返回值与异常 ​

该方法无返回值,执行结果通过 D-Bus 异常(Error)上报:调用成功时无返回内容;执行失败时抛出如下异常。

异常类型含义触发条件处理建议
SettingPollingIntervalFailed设置轮询间隔失败MinPoll 越界(❤️ 或 >17)或 MinPoll > MaxPoll;MaxPoll 越界(❤️ 或 >17)或 MaxPoll < MinPoll调整 MinPoll/MaxPoll 使其在 3-17 范围内且 MinPoll ≤ MaxPoll

说明:MinPoll/MaxPoll 传 0xFF 表示使用默认值(MinPoll=6、MaxPoll=10),不视为非法参数。

应用场景 ​

  • 通过 Web/CLI 调整 NTP 同步频率。

限制条件 ​

  • 需要 BasicSetting 及以上权限;
  • 默认 MinPoll=6(64 秒)、MaxPoll=10(1024 秒)。

调试示例 ​

bash
busctl --user call bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 \
    bmc.kepler.Managers.Ntp SetPollingInterval a{ss}yy 0 6 10

2.4 SetNtpExtraServers 设置扩展 NTP 服务器 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.SetNtpExtraServers                 method    a{ss}yas              -                      -

功能说明 ​

批量设置扩展 NTP 服务器列表,用于在首选/备选服务器之外补充更多时间源。

属性内容
接口名bmc.kepler.Managers.Ntp
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
NTPServerCount输入y (U8)支持的NTPServer的个数仅支持3个或6个
ExtraServers输入as (String[])备用服务器地址列表合法 IPv4/IPv6 或域名,个数为 NTPServerCount 减2

返回值与异常 ​

该方法无返回值,执行结果通过 D-Bus 异常(Error)上报:调用成功时无返回内容;执行失败时抛出如下异常。

异常类型含义触发条件处理建议
ValueOutOfRange参数越界NTPServerCount 不是 3 或 6传入 3 或 6
PropertyValueFormatError参数格式错误ExtraServers 个数超过 NTPServerCount-2,或服务器地址格式非法调整服务器数量与地址格式

应用场景 ​

  • 配置多个 NTP 服务器以提升同步可靠性。

限制条件 ​

  • 需要 BasicSetting 及以上权限。

调试示例 ​

bash
busctl --user call bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 \
    bmc.kepler.Managers.Ntp SetNtpExtraServers a{ss}yas 0 3 1 192.168.1.10

2.5 ImportGroupKey 导入 NTP 组密钥 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.ImportGroupKey                     method    a{ss}s                -                      -

功能说明 ​

通过文件路径导入 NTP 身份认证组密钥,用于校验 NTP 服务器身份,防止非法服务器篡改时间。

属性内容
接口名bmc.kepler.Managers.Ntp.Auth
首发版本openUBMC 25.3.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
FilePath输入s (String)组密钥文件路径BMC 上可访问的合法文件路径

返回值与异常 ​

该方法无返回值,导入结果通过 D-Bus 错误机制上报:无论成功或失败,都会返回一个结果错误对象,调用方需根据结果对象判断导入结果。

结果/异常类型含义触发条件处理建议
UploadNTPSecureGroupKeyFailed组密钥上传失败文件路径未通过安全检查,或文件不存在/不可读检查文件路径与文件权限
NTPSecureGroupKeyTooLarge组密钥文件过大密钥文件大小超过允许上限精简密钥文件内容
NTPGroupKeyNotSupported组密钥格式不支持密钥文件格式或算法不在支持列表使用受支持的密钥格式
UploadNTPSecureGroupKeysuccessfully导入成功(结果对象,非异常)密钥导入成功无需处理

应用场景 ​

  • 使能 NTP 身份认证前导入组密钥。

限制条件 ​

  • 需要 BasicSetting 及以上权限;
  • 导入后组密钥文件写入受保护目录,需具备相应权限。

调试示例 ​

bash
busctl --user call bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 \
    bmc.kepler.Managers.Ntp.Auth ImportGroupKey a{ss}s 0 /data/trust/ntp/group.key

2.6 ImportGroupKeyWithContent 通过内容导入 NTP 组密钥 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.ImportGroupKeyWithContent          method    a{ss}s                -                      -

功能说明 ​

直接以密钥文本内容导入 NTP 组密钥,无需事先上传文件。

属性内容
接口名bmc.kepler.Managers.Ntp.Auth
首发版本openUBMC 25.6.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
Content输入s (String)组密钥文本内容合法 NTP 密钥文本

返回值与异常 ​

该方法无返回值,导入结果通过 D-Bus 错误机制上报:无论成功或失败,都会返回一个结果错误对象,调用方需根据结果对象判断导入结果。

结果/异常类型含义触发条件处理建议
UploadNTPSecureGroupKeyFailed组密钥上传失败密钥内容写入临时文件失败或文件不可用检查 BMC 存储空间与目录权限
NTPSecureGroupKeyTooLarge组密钥内容过大密钥内容大小超过允许上限精简密钥内容
NTPGroupKeyNotSupported组密钥格式不支持密钥内容格式或算法不在支持列表使用受支持的密钥格式
UploadNTPSecureGroupKeysuccessfully导入成功(结果对象,非异常)密钥导入成功无需处理

说明:跨板同步(skip_auto_export)场景下该方法返回 (状态, 是否变更) 二元组,非跨板场景无返回值。

应用场景 ​

  • Web/CLI 直接粘贴密钥内容导入,免去文件上传流程。

限制条件 ​

  • 需要 BasicSetting 及以上权限。

调试示例 ​

bash
busctl --user call bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 \
    bmc.kepler.Managers.Ntp.Auth ImportGroupKeyWithContent a{ss}s 0 "1 MD5 d41d8cd98f00b204e9800998ecf8427e"

2.7 ImportGroupKeyAsync 异步导入 NTP 组密钥 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.ImportGroupKeyAsync                method    a{ss}s                u                      -

功能说明 ​

异步导入 NTP 组密钥,适用于大文件或需跨板同步的场景,导入任务通过 TaskService 跟踪进度。

属性内容
接口名bmc.kepler.Managers.Ntp.Auth
首发版本openUBMC 25.6.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
FilePath输入s (String)组密钥文件路径BMC 上可访问的合法文件路径
TaskId输出u (U32)导入任务 ID非负整数

返回值与异常 ​

该方法返回导入任务 ID(u32)。任务创建成功后立即返回 TaskId,任务执行结果需通过 TaskService 查询;任务创建失败时抛出如下异常。

返回值含义触发条件处理建议
TaskId导入任务 ID任务创建成功通过 TaskService 查询任务进度与结果
异常类型含义触发条件处理建议
PropertyValueFormatError参数格式错误FilePath 不是远程可下载路径(须为远程文件路径,如跨板同步路径)传入远程文件路径

应用场景 ​

  • 大密钥文件导入,避免同步调用阻塞;
  • 主备板组密钥同步场景。

限制条件 ​

  • 需要 BasicSetting 及以上权限。

调试示例 ​

bash
busctl --user call bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 \
    bmc.kepler.Managers.Ntp.Auth ImportGroupKeyAsync a{ss}s 0 /data/trust/ntp/group.key

2.8 SetDestination 敏感配置导入导出 ​

bash
NAME                                TYPE      SIGNATURE             RESULT/VALUE           FLAGS
.SetDestination                     method    a{ss}ssss             -                      -

功能说明 ​

对 NTP、时区等敏感配置提供导入、周期导出、变更导出能力,支持跨板/批量部署时同步配置。

属性内容
接口名bmc.kepler.Managers.SensitiveConfigurations
首发版本openUBMC 26.12.0
废弃状态正常可用

参数说明 ​

参数名方向类型描述取值范围
DestinationService输入s (String)目标服务名(SetDestination)合法服务名
DestinationPath输入s (String)目标对象路径合法对象路径
DestinationInterface输入s (String)目标接口名合法接口名
DestinationMethod输入s (String)目标方法名合法方法名
Configs输入a{sv} (Dictionary)待导入的配置项(Import)NTP/时区等合法配置
IsPeriodicExport / IsAutomaticOnChange属性b (Boolean)周期导出 / 变更时自动导出开关true/false
PeriodSec属性u (U32)周期导出间隔(秒)5-86400,默认 86400

返回值与异常 ​

该方法无返回值,不抛出 D-Bus 异常。设置目标成功后写入 DestinationService/DestinationPath/DestinationInterface/DestinationMethod 属性;目标对象或接口不存在时返回 -1,但因接口无返回类型,调用方无感知,建议通过读取上述属性确认配置结果。

应用场景 ​

  • 主备板 NTP 组密钥/时区配置自动同步;
  • 批量部署时统一导入时间配置。

限制条件 ​

  • 需要 BasicSetting 及以上权限;
  • PeriodSec 取值范围 5-86400 秒。

调试示例 ​

bash
busctl --user call bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 \
    bmc.kepler.Managers.SensitiveConfigurations SetDestination a{ss}ssss \
    0 bmc.kepler.bmc_time /bmc/kepler/Managers/Time_Bmc_010101 bmc.kepler.Managers.Ntp.Auth Import

3. 组件扩展案例 ​

3.1 扩展能力概述 ​

bmc_time 组件支持以下扩展能力:

  • CSR 配置定制:通过 CSR 配置 RTC 芯片读写偏移(Offset/WriteOffset)、读取长度(Size)、年差值(YearOffset)、读取格式(EffOffset)等,无需改代码适配不同 SMC RTC 芯片;
  • 时间同步策略可配:TimeHoppingThreshold 时间跳变门限、TimeSynchronizationPolicy 同步失败告警策略、NotRecordSel 是否记录 SEL、SwitchRtcOnNtp 是否在 NTP 失败时切换 RTC;
  • 敏感配置导出目标可配:通过 SetDestination 配置导出目标服务/路径/接口/方法,支持周期导出与变更导出。

3.2 扩展点说明 ​

扩展点位置作用与触发时机
RTC 芯片参数Time 对象 CSR 属性(CpuBrdRtc/Offset/WriteOffset/Size/YearOffset/EffOffset)适配不同 RTC 芯片的读写地址与格式,上电时生效
时间跳变门限TimeHoppingThreshold配置时间跳变告警门限(秒),检测到跳变时上报
同步失败策略TimeSynchronizationPolicy / SwitchRtcOnNtp配置 NTP 同步失败后的告警与切换 RTC 行为
导出目标SensitiveConfigurations 的 SetDestination配置敏感配置导出目标,导出时生效

3.3 二次开发指导 ​

步骤一:配置 CSR 适配 RTC 芯片 ​

为 Time 对象配置 CpuBrdRtc 引用的 BlockIO 通道及 Offset/WriteOffset/Size/YearOffset/EffOffset 参数。

步骤二:配置时间同步策略 ​

配置 NotRecordSel、SwitchRtcOnNtp 等属性。

示例代码 ​

json
"Time_Bmc": {
    "Id": "${Slot}",
    "CpuBrdRtc": "#/CpldChip_1",
    "IsValid": true,
    "RtcSupported": true,
    "Offset": 64,
    "Size": 8,
    "YearOffset": 0,
    "EffOffset": 0,
    "NotRecordSel": true
}
json
"TimeSynchronization_0": {
    "SwitchRtcOnNtp": true
}

验证方法 ​

  1. 编译并部署组件;
  2. 通过 busctl 调用时间接口;
  3. 观察 DateTime 属性、RTC 时间与日志是否符合预期。

注意事项 ​

  • 修改 CSR 属性后需重启组件生效;
  • RTC 芯片参数需与硬件手册一致,避免读写越界;
  • 时间跳变门限不宜过小,避免正常校时被误判为跳变。

4. 日志说明 ​

4.1 一键日志收集 ​

执行系统一键日志收集功能时,会自动收集 bmc_time 组件的运行日志:

文件路径内容说明
/data/var/log/bmc/bmc_time.logbmc_time 组件运行日志,包含时间设置、NTP 同步、RTC 维护、组密钥导入等

4.2 关键日志信息 ​

日志片段日志级别含义解读建议处理动作
set bmc_time time_stamp=%s by persistent data, ret=%dNOTICE从持久化数据恢复时间戳无需处理
bmc_time ------------------register ntp ipmi start/endNOTICENTP IPMI 命令注册开始/结束无需处理
Command not supported in present stateERROR当前状态下命令不支持检查调用时机与状态
ipmi set ntp min polling[%s] failed, max polling is[%s]ERRORIPMI 设置最小轮询间隔失败检查参数与 NTP 状态
Sync to NTP server failed, count = %dERROR连续 NTP 同步失败检查网络与 NTP 服务器可达性
call InvokeDestResourceSync failed, method [%s], err [%s]WARN组密钥双板同步失败检查对板 DataSync 服务
import failed, err [%s]WARN组密钥/配置导入失败检查导入内容与路径
Set %s to (%s) successfullyNOTICE配置项设置成功无需处理
get time smcbrd failedERROR读取 SMC RTC 芯片失败检查 RTC 芯片链路与 BlockIO 配置

5. 问题定界指南 ​

5.1 典型问题定界 ​

现象描述是否为本组件问题判断依据关键证据收集方法
系统时间不准确是/否若 NTP 未开启或服务器不可达,为配置/网络问题;若 RTC 走时错误,为硬件问题收集 bmc_time.log 与 SyncResult 属性
设置时间后重启时间跳变是持久化或 RTC 同步异常查看恢复时间戳日志与 RTC 同步日志
时区/夏令时不生效是时区链接文件或 DST 配置异常查看 DateTimeLocalOffset 与 DSTEnabled 属性
NTP 组密钥导入失败是文件/内容格式或权限问题查看导入失败日志与组密钥状态

5.2 错误码速查表 ​

错误码含义可能原因排查建议
0成功正常执行无
0xCCInvalid data field in request请求数据字段非法检查请求参数格式
0xC9Parameter out of range参数越界检查参数取值范围
0xD5IPMI Command Cannot Execute当前状态无法执行检查执行命令的条件是否满足
0xFFInternal Error内部错误检查内部代码实现
0x80Operation Not Support操作不支持检查前置条件与数据

5.3 调试方法 ​

开启调试日志 ​

通过调整日志级别(notice/info/debug)可查看时间设置与 NTP 同步的详细流程。

复现问题方法 ​

  1. 前置条件设置:配置 NTP 服务器或 RTC 芯片 CSR;
  2. 操作步骤:通过 busctl 或 IPMI 调用时间接口;
  3. 预期现象:DateTime/时间戳按预期变化,日志无 ERROR。

6. 常见问题解答 ​

Q1:NTP 时间不同步如何处理? ​

  • 问题描述:BMC 时间与 NTP 服务器时间不一致
  • 一句话答案:检查 NTP 使能、服务器可达性与轮询间隔配置
  • 根因说明:NTP 未开启、服务器不可达、或同步失败连续计数导致暂停
  • 解决方案:确认 Enabled=true、服务器地址正确且网络可达,必要时调整 MinPoll/MaxPoll
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

Q2:设置系统时间后重启又跳回旧时间? ​

  • 问题描述:手动设置时间后重启 BMC,时间恢复为旧值
  • 一句话答案:持久化或 RTC 同步异常导致时间未保存
  • 根因说明:时间戳持久化失败,或 RTC 芯片读写异常
  • 解决方案:检查持久化日志与 RTC 芯片链路,必要时重新设置并确认 DateTime 属性
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

Q3:时区/夏令时设置不生效? ​

  • 问题描述:修改 TimeZoneName 或 DSTEnabled 后本地时间显示不正确
  • 一句话答案:检查时区名合法性与时区链接文件生效情况
  • 根因说明:时区名非法、时区链接文件未更新或 DST 配置与地区不匹配
  • 解决方案:使用合法时区名(如 Asia/Shanghai)或 ±HH:MM 偏移,确认 DSTEnabled 正确
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

Q4:RTC 时间与系统时间不一致? ​

  • 问题描述:RTC 时间与 BMC 系统时间存在偏差
  • 一句话答案:检查 RTC 芯片读写参数与同步策略
  • 根因说明:CSR 中 Offset/Size 等参数与芯片不符,或 NTP/RTC 切换策略未按预期执行
  • 解决方案:核对 CSR 芯片参数,确认 SwitchRtcOnNtp 等策略配置
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无长度

Q5:NTP 组密钥导入失败? ​

  • 问题描述:导入 NTP 组密钥返回失败
  • 一句话答案:检查文件路径、密钥格式与目录权限
  • 根因说明:文件不存在、密钥格式非法或目标目录权限不足
  • 解决方案:确认文件路径正确、密钥格式合法,必要时改用 ImportGroupKeyWithContent
  • 规避方案:无
  • 适用版本:所有版本
  • 相关文档链接:无

附录 ​

附录A 参考资料 ​

附录B 修订记录 ​

版本日期修订人修订内容
v1.02026-11-02openUBMC依据 docs_intro 模板生成 bmc_time 组件接口说明