【南向组件】我发现2512 LTS SP1版本把南向组件功能删除了,这是什么背景

// 此模板仅供参考,如果不适用可以修改

问题描述

我想咨询下LTS SP1版本把这个南向组件功能删除的背景是啥?

环境信息

openUBMC2512 LTS SP1

重现步骤

  1. [第一步]

  2. [第二步]

  3. [第三步]

期望结果

[您希望实现什么]

实际结果

[实际发生了什么,包含错误信息]

尝试过的解决方案

[列出您已经尝试过的解决方案及结果]

分析结论

[详细总结您对此问题的分析结论]

答案内容由AI生成,仅供参考:

结论

您所观察到的“南向组件功能删除”是 2512 LTS SP1 版本的预期行为和既定策略,而非一个缺陷。这是为了确保 LTS 版本在长期运行中的卓越稳定性与可靠性所做的必要取舍。LTS 分支旨在成为一个可信的、不变的稳定基线,而南向组件的开发、调试和集成工作,应始终在活跃的开发分支上进行。待新功能和驱动在开发分支上被充分验证后,其稳定版本可能会在未来某个新的 LTS 版本中被整体引入。

点击此处查看详细分析解答

关于 openUBMC 2512 LTS SP1 版本移除南向组件的背景分析

根据您提供的信息和上下文分析,openUBMC 2512 LTS SP1 版本移除南向组件(Southbound Components)并非一个意外或功能删除,而是 LTS(Long-Term Support,长期支持)分支的设计策略和定位所决定的

以下是详细的背景分析:

1. LTS 分支的核心定位与策略

LTS(Long-Term Support)分支的主要目标是提供一个高度稳定、可靠且经过充分验证的软件版本,用于生产环境的长期部署。为了实现这一目标,其核心策略通常包括:

  • 减少变更面:移除不必要或高风险的组件,以降低引入新 Bug 的可能性。
  • 聚焦核心稳定性:集中资源维护和修复核心功能的稳定性与安全性问题。
  • 长期维护承诺:此分支会持续接收安全补丁和关键 Bug 修复,但不包含新功能或大型架构变更。

2. 南向组件的性质与移除原因

根据您提供的文档代码(manifest.yml)和知识图谱信息,被移除的 component_driversdevmon 等模块属于“南向组件”(Southbound Components)。

  • 定义与作用:南向组件通常指那些直接与底层硬件(如 ASIC、FPGA、传感器、专用芯片)交互的驱动程序和管理服务。它们是系统功能丰富性和硬件适配性的关键,但也往往是最不稳定、最易发生变更的部分。新硬件的引入、驱动的更新、新问题的发现等都会频繁修改这些组件。

  • 移除背景

    • 稳定性优先:LTS 分支的首要任务是稳定,而南向组件的高变更率与此目标相悖。移除或冻结这些组件可以显著降低整个系统因底层驱动问题而崩溃的风险。
    • 分支精简化:将核心的、稳定的管理逻辑与不稳定的、定制化的南向驱动解耦,是成熟的软件工程实践。开发和集成都将转向 maindev 分支,而 LTS 分支则作为“纯净”的、已验证的稳定基线。
    • 由知识图谱佐证:知识图谱中明确指出 LTS Branch 不包含 Southbound Components。例如,Devmon Service 会因该分支缺少南向组件而无法加载。这并非 Bug,而是该分支设计的直接结果。

3. 开发与集成的推荐路径

如果您需要集成自定义驱动(如您提到的 Sgm58031 电压芯片驱动),不应该在 LTS 分支上进行。推荐的做法如下:

  • 使用开发分支:在 maindev 或特定的 rc(Release Candidate)分支上进行开发和集成。
  • 遵循标准流程:将您的驱动代码和配置(如 manifest.yml 的修改)提交并合并到这些开发分支。
  • 利用虚拟仓库:如知识图谱和文档所示(LiJiang 用户的指导),可以使用 openUBMC_dev 这样的官方仓库,将您本地构建的 Conan 包上传,供开发流程使用。

结论

您所观察到的“南向组件功能删除”是 2512 LTS SP1 版本的预期行为和既定策略,而非一个缺陷。这是为了确保 LTS 版本在长期运行中的卓越稳定性与可靠性所做的必要取舍。LTS 分支旨在成为一个可信的、不变的稳定基线,而南向组件的开发、调试和集成工作,应始终在活跃的开发分支上进行。待新功能和驱动在开发分支上被充分验证后,其稳定版本可能会在未来某个新的 LTS 版本中被整体引入。