[求助] 米尔开发板web显示异常

问题描述

参考文章Hi3093开发板上手教学,在米尔开发板上搭建了openubmc环境,没有使用文章中的Hi3093预制镜像,镜像文件以及hpm固件包是用manifest的main分支构建的。

目前开发板环境可以正常登录,但是web界面上不会显示系统信息,图片也无法加载(对比qemu仿真的环境),不过部分功能是正常的,可以正常收集日志和升级固件。

请教下这个现象是否正常?异常的话可能原因是什么?

环境信息

  • 操作系统:openUBMC RTOS

  • 软件版本:openUBMC2512

  • 硬件配置:Hi3093

收集日志

null_null_19700101-0800.tar.gz (782.5 KB)

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

项目 状态 说明
系统可登录 :white_check_mark: 正常 BMC 基础服务运行
固件升级正常 :white_check_mark: 正常 HPM 升级机制可用
资源信息为空 :cross_mark: 异常 iBMA 或 Redfish 服务未生效
图片无法加载 :cross_mark: 异常 静态资源路径错误或缺失
监控数据缺失 :cross_mark: 异常 后端采集服务未上报

结论:这不是正常现象。最可能原因为 iBMA 服务未运行 或 Web 资源构建不完整。建议优先检查 iBMA 状态和静态资源加载情况。

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

关于米尔开发板上 openUBMC Web 显示异常问题的分析与解答

根据您提供的问题描述,该现象属于异常情况,并非 openUBMC 系统的正常表现。尽管系统基本功能(如登录、固件升级、日志收集)可以运行,但 Web 界面无法显示设备信息、资源状态及图片内容,表明系统管理模块或前端服务存在配置或集成问题。


:magnifying_glass_tilted_left: 问题现象总结

  • :white_check_mark: 可正常登录系统
  • :white_check_mark: 可执行固件升级、日志收集等操作
  • :cross_mark: Web 界面不显示系统信息(处理器、内存、存储、电源、网络等)
  • :cross_mark: 图片资源无法加载
  • :cross_mark: 系统监控数据为空(CPU、内存、磁盘占用率均为 --

:prohibited: 是否正常?

不正常

openUBMC 的 Web UI 在正常运行状态下应能通过后端服务(如 iBMARedfish 接口、Sensors 模块)获取并展示完整的硬件资源和系统状态。您当前的现象表明:BMC 虽已启动,但关键的服务未能正确运行或数据未成功上报至 Web 层


:pushpin: 可能原因分析

结合 Context 中的知识图谱信息和 openUBMC 架构逻辑,以下是可能导致该问题的几种原因:

1. iBMA 服务未启动或未正确安装

  • iBMA 是 openUBMC 中负责收集 CPU、内存、硬盘、PCIe 设备等硬件信息的核心代理。
  • 若 iBMA 未启动或安装异常,Web UI 将无法获取资源数据。

:link: 相关证据

  • 实体 iBMA 描述:“iBMA 是一个系统服务,用于收集硬件数据(温度、NVMe 状态、PCIe 信息等)并上报给 BMC。”
  • 关系 OpenUBMC Web UIiBMA:“OpenUBMC Web UI 失败显示 iBMA 版本信息,尽管 OS 侧已安装。”

:white_check_mark: 排查建议

  • 登录 BMC 命令行,执行:
    ps | grep ibma
    systemctl status ibma
    
  • 检查 /opt/huawei/ibma/ 目录是否存在且有可执行文件。
  • 查看日志:
    journalctl -u ibma.service
    

2. Web UI 自定义构建导致资源路径错误或缺失

您提到:“镜像文件以及 hpm 固件包是用 manifest 的 main 分支构建的。”
这可能是导致 图片无法加载样式异常 的主因。

:link: 相关证据

  • 文档搜索结果 #2《白牌包定制指南》指出
    “白牌包包含 favicon.ico, login.png, header_logo.png 等图片资源,需打包进 hpm 文件中。”
  • 若构建过程中未包含默认图片资源或路径配置错误,则会造成页面图片 404。

:white_check_mark: 排查建议

  • 使用浏览器开发者工具(F12),查看 Network 标签页:
    • 是否出现大量 404 请求(如 /static/img/header_logo.png)?
    • 图片请求是否指向正确的静态路径?
  • 检查构建输出目录下是否有 <project>/webui/static/ 及其内容。
  • 比较官方预制镜像与自建镜像中 /www//usr/share/nginx/html/ 目录差异。

3. Redfish 或 Web UI 后端服务未完全启动

Web 页面的数据大多来源于 Redfish API 接口(如 /redfish/v1/Systems)或内部 REST 服务。

:link: 相关证据

  • 实体 OpenUBMC Web UI:是图形化管理接口,依赖后台服务提供数据。
  • 关系 OpenUBMC2509System Management:OpenUBMC 提供系统管理接口子模块。

若以下服务未运行,将导致数据无法获取:

  • redfish-server
  • webserver-ng(Nginx)
  • obmc-stats-manager
  • sdbusplus-mapper

:white_check_mark: 排查建议

  • 执行:
    systemctl list-units | grep running | grep -i "redfish\|web"
    
  • 尝试手动访问 Redfish 接口验证数据:
    curl -k https://<BMC_IP>/redfish/v1/Systems
    
    正常应返回 JSON 格式的系统资源信息。

4. 构建时缺少必要的软件包或功能未启用

您使用的是 manifest/main 分支自行构建,可能存在配置不完整问题。

:link: 相关证据

  • 关系 OpenUBMC Firmwarebtc_drv.ko:某些内核模块(如 btc_drv.ko)若未正确排除,可能导致系统不稳定或服务异常。
  • 构建日志中曾出现 linux_kernel fetch 失败(路径为 NoneType),说明构建过程可能不稳定。

:white_check_mark: 排查建议

  • 确认构建时是否启用了以下关键组件:
    -o webui/*:webvnc_enabled=True
    -o webui/*:energy_enabled=True
    -o remote_console/*:webvnc_supported=True
    -o nsm/*:webvnc_supported=True
    
  • 检查 Conan 构建日志是否完整成功(避免跳过依赖)。

5. 硬件适配问题:Hi3093 开发板缺少传感器数据来源

Hi3093 开发板并非完整服务器平台,可能未模拟或连接以下设备:

  • CPU sensor(导致 CPU 数量为 0)
  • 内存 DIMM 信息
  • 存储控制器
  • PSU 单元

:link: 相关证据

  • 实体 PSU:“PSU 是被 BMC 监控的关键组件,状态通过 PMBus 上报。”
  • 若无真实硬件支持,系统无法识别“在位”资源。

:white_check_mark: 结论
部分“资源为 0”可能是由于开发板硬件限制所致,但 “监控数据显示 --” 则仍属异常,应至少显示“未检测到设备”而非完全空白。


:white_check_mark: 解决建议

问题 推荐解决方案
信息不显示 :white_check_mark: 检查 iBMA 是否运行;尝试手动重启服务:
systemctl restart ibma
图片无法加载 :white_check_mark: 使用浏览器 DevTools 检查静态资源请求是否 404
:white_check_mark: 确保构建时包含了 web_custom.xml 和所有图片文件
数据为空白 :white_check_mark: 访问 /redfish/v1/Systems 验证后端 API 是否返回数据
:white_check_mark: 若无返回,检查 redfish-server 是否运行
自定义构建风险 :white_check_mark: 使用官方推荐分支构建(如 openubmc/release/v25.12
:white_check_mark: 对比官方 hpm 包内容,补全缺失资源

:puzzle_piece: 额外建议:回退到官方预制镜像测试

为确认是否为构建问题,建议:

  1. 下载并刷入 Hi3093 官方预制 openUBMC 镜像(参考搜索结果 #1
  2. 测试 Web 是否能正常显示信息
  3. 如能正常显示,则说明您当前自建镜像存在问题,需对比构建流程

:books: 参考文档


:white_check_mark: 总结

项目 状态 说明
系统可登录 :white_check_mark: 正常 BMC 基础服务运行
固件升级正常 :white_check_mark: 正常 HPM 升级机制可用
资源信息为空 :cross_mark: 异常 iBMA 或 Redfish 服务未生效
图片无法加载 :cross_mark: 异常 静态资源路径错误或缺失
监控数据缺失 :cross_mark: 异常 后端采集服务未上报

结论:这不是正常现象。最可能原因为 iBMA 服务未运行 或 Web 资源构建不完整。建议优先检查 iBMA 状态和静态资源加载情况。

如有更多日志(特别是 journalctl -u ibma 输出),可进一步深入定位。

这个是正常情况,开发板的系统初始化和真实服务器的烧片初始化不同。你所看到的图片,其实本质上是持久化保存的。

就比如密码,真实服务器的密码通过烧片后,是存在的。但在开发板环境初次升级openUBMC后,需要通过telnet等方式去设置登录密码。

系统信息上显示Bios等信息是真实服务器中BMC作为插卡,实实在在的管理服务器资源,获取到带内Bios信息后才显示的。

总结就是:

openUBMC的组件功能都是正常的,只是开发板环境缺少了某些持久化资源和外接硬件。前者可以通过找个真实环境,将对应资源存档至开发板中。

多谢解答