openUBMC品牌包定制指南

openUBMC品牌包定制指南

本指南旨在指导如何进行品牌包配置及制作

品牌包简介

品牌包本质就是一个hpm包,通过固件升级的方式来实现定制化能力
可以定制的内容主要包括以下几个部分:图片定制,网页风格定制,配置定制

序号 定制类别 定制项 文件 属性
1 图片定制 浏览器ICO favicon.ico /
2 图片定制 二维码 code1.png /
3 图片定制 登录界面背景 login.png /
4 图片定制 登录界面图标 login_logo.png /
5 图片定制 主界面机型展示图片 img_01.png/img_02.png/img_03.png /
6 图片定制 主界面左上角图片 header_logo.png /
7 风格定制 主界面风格 style_config.json pageStyle
8 配置定制 产品联系人 web_custom.xml sysContact
9 配置定制 默认安全公告 web_custom.xml dBannerContent
10 配置定制 预置证书Common Name web_custom.xml PreSSLSeverCommonName
11 配置定制 预置证书Organization Name web_custom.xml PreSSLSeverOrgName
12 配置定制 预置证书Country web_custom.xml PreSSLSeverCountry
13 配置定制 官网 web_custom.xml OfficalWeb
14 配置定制 版权信息 web_custom.xml Copyright
15 配置定制 技术支持网址 web_custom.xml SupportWeb
16 配置定制 邮箱 web_custom.xml Email
17 配置定制 电话 web_custom.xml Phone
18 配置定制 独立KVM web_custom.xml DownloadKVMLink
19 配置定制 二维码显示标志位(是否显示) web_custom.xml DocSupportFlag
20 配置定制 BMC软件名称 web_custom.xml SoftwareName
21 配置定制 告警、事件描述 web_custom.xml CustomAlarmName
22 配置定制 操作、运行、安全日志(BMA名称定制) web_custom.xml CustomLogIbmaName
23 配置定制 CLI界面命令提示符、日志(BMC名称定制) web_custom.xml CustomLogIbmcName
24 配置定制 redfish OEM厂商 web_custom.xml CustomManufacturer
25 配置定制 语言 web_custom.xml LanguageSet
26 配置定制 追加语言 web_custom.xml LanguageSetAppend
27 配置定制 BMC主机名称 web_custom.xml HostName
28 配置定制 客户名称(用于生效指定客户定制的特性) web_custom.xml Customer

如何定制一个品牌包

1.新建一个仓用户存放品牌定制文件
品牌定制文件包括各种定制图片、配置文件web_custom.xml以及filelist.conf,定制图片名称需要与上述表格展示的文件名一致

2.配置filelist.conf
需要正确配置文件数量、文件名称和文件路径。其中文件路径和文件名称是固定的,不允许进行变更,FileNum的值需要与下列配置File的个数一致,具体配置参考下面示例

[Basic]
Version=2.00

[Filelist]
FileNum=9

[File0]
Name=code1.png
Path=/data/opt/pme/web/htdocs/theme/custom/img

[File1]
Name=favicon.ico
Path=/data/opt/pme/web/htdocs

[File2]
Name=web_custom.xml
Path=/data/opt/pme/web/conf

[File3]
Name=header_logo.png
Path=/data/opt/pme/web/custom

[File4]
Name=login.png
Path=/data/opt/pme/web/custom

[File5]
Name=login_logo.png
Path=/data/opt/pme/web/custom

[File6]
Name=img_01.png
Path=/data/opt/pme/web/custom

[File7]
Name=img_02.png
Path=/data/opt/pme/web/custom

[File8]
Name=img_03.png
Path=/data/opt/pme/web/custom

3.配置web_custom.xml
web_custom.xml负责配置各种属性,配置项含义如下,其中VALUE的内容需要替换为定制内容,不需要的配置项可以删除

<?xml version="1.0" encoding="UTF-8"?>
<!-- 描述:目前官网、版权信息、独立KVM下载链接信息、文档二维码显示标志位在web中有使用 -->
<CUSTOM_CONFIG>
    <!-- 系统联系人 -->
    <SysContact VALUE="CustomSysContact" />

    <!-- SSL证书预置信息,当前安装的SSL证书的签发者信息和预置信息一致时,认为当前SSL证书是预置证书,web会提醒用户安装新证书 -->
    <PreSSLSeverCommonName VALUE="CustomCommonName"/>
    <PreSSLSeverOrgName VALUE="CustomOrgName"/>
    <PreSSLSeverCountry VALUE="Country"/>

    <!-- 官方网站 -->
    <OfficalWeb VALUE="CustomOfficalWeb"/>
    <!-- 版权 -->
    <Copyright VALUE="CustomCopyright"/>
    <!-- 支撑网站 -->
    <SupportWeb VALUE="CustomSupportWeb"/>
    <!-- 邮件 -->
    <Email VALUE="CustomEmail"/>
    <!-- 电话 -->
    <Phone VALUE="CustomPhone"/>
    <!-- 独立KVM客户端下载链接 -->
    <DownloadKVMLink VALUE="CustomDownloadKVMLink"/>
    <!-- 是否支持显示二维码 -->
    <DocSupportFlag VALUE="CustomDocSupportFlag"/>
    <!-- 软件名称,用于自定义日志BMC名称和CLP提示符 -->
    <SoftwareName VALUE="CustomSoftwareName"/>
    <!-- 自定义BMA名称 -->
    <CustomLogIbmaName VALUE="CustomLogIbmaName"/>
    <!-- 与软件名称SoftwareName功能相同 -->
    <CustomLogIbmcName VALUE="CustomLogIbmcName"/>
    <!-- 主机名 -->
    <HostName VALUE="CustomHostName"/>
    <!-- 安全公告 -->
    <dBannerContent VALUE="CustomdBannerContent"/>
    <Customer VALUE="CustomerName"/>
</CUSTOM_CONFIG>

4.配置manifest仓中产品对应的manifest.yml
(1)新建编码,如WBD
(2)确定好包名package_name,如wbd/wbd_output.zip
(3)确定好构建类型build_type,如release
(4)开始配置品牌包相关配置,配置格式如下示例

manufacture:
    WBD:
        # package_name为品牌包存放路径与品牌包名称
        pack_age_name: wbd/wbd_output.zip
        build_type: release
        wbd_hpms:
            # repo为存放品牌包定制文件的仓库地址,需要填写https下载的地址
            - repo: https://test.git
              # tag为存放定制文件的分支tag号
              tag: 0.0.0
              files:
                # path为定制文件存放路径,但是dst路径不可修改,均为"wbd_up_file/文件名"的格式,如下示例
                - file: {path}/favicon.ico
                dst: wbd_up_file/favicon.ico
                - file: {path}/login_logo.png
                dst: wbd_up_file/login_logo.png
                - file: {path}/header_logo.png
                dst: wbd_up_file/header_logo.png
                - file: {path}/filelist.conf
                dst: wbd_up_file/filelist.conf
                - file: {path}/web_custom.xml
                dst: wbd_up_file/web_custom.xml
                # 下列文件都是制作品牌包必须文件,路径固定,不可删除
                - file: /usr/share/bmcgo/wbd-packet/beforeaction.sh
                - file: /usr/share/bmcgo/wbd-packet/afteraction_remove_busctl.sh
                dst: afteraction.sh
                - file: /usr/share/bmcgo/wbd-packet/CfgFileList.conf
                - file: /usr/share/bmcgo/wbd-packet/firstboot.sh
                - file: /usr/share/bmcgo/wbd-packet/hpm_wbd.config
                - file: /usr/share/bmcgo/wbd-packet/packetwbd.sh
                - file: /usr/share/bmcgo/wbd-packet/update.cfg
        # dst为最后制作出来的品牌包名称
        files:
          - file: ${work_out}/wbd_hpm1.hpm
            dst: WBD-image.hpm
            verify:
              - pss

(5)确认manifest配置的品牌定制文件个数与filelist.conf中文件个数一致,不一致会导致升级品牌包失败

5.在manifest仓的build目录执行构建命令

bmcgo publish -z WBD -b openUBMC
其中-z的参数为品牌包的编码,-b的参数为机型

取包地址: manifest/output/packet/wbd/wbd_output.zip

6.升级品牌包
进入固件升级->固件更新->升级文件,进行品牌包升级,如果配置了Customer字段则在升级完成后会自动重启,其他场景无需重启即可生效

4 个赞

白牌包的files记录需要打包的文件,如果file是相对路径的,会去repo仓提取文件。
/usr/share/bmcgo/wbd-package/目录复制的文件一般情况下原样保持即可,如果确要修改的,请放在repo仓中记录。

              repo: https://test.git
              # tag为存放定制文件的分支tag号
              tag: 0.0.0
              files:
                # 以下示例是从repo仓提取文件customization/Server/Kunpeng/TaiShan200_2280v2/WBD/favicon.ico并复制到wbd_up_file/favicon.ico。
                - file: customization/Server/Kunpeng/TaiShan200_2280v2/WBD/favicon.ico
                  dst: wbd_up_file/favicon.ico
                # 以下示例是从bmcgo工具打包目录复制beforeaction.sh
                - file: /usr/share/bmcgo/wbd-packet/beforeaction.sh
1 个赞

制作清白牌包的方法

定制之后,如果需要恢复到原来的配置,需要升级清白牌包。实际上,清白牌包也是一个白牌包,只是里面的配置是默认配置。所以如果需要恢复到原来的配置,只需再出一个恢复到默认配置的白牌包即可。

web_custom.xml默认配置举例:

	<?xml version="1.0" encoding="UTF-8"?>
	<!-- 描述:目前官网、版权信息、独立KVM下载链接信息、文档二维码显示标志位在web中有使用 -->
	<CUSTOM_CONFIG>
		<!-- 官方网址 -->
		<OfficalWeb VALUE="http://enterprise.huawei.com/" />
		<!-- 技术支持网址 -->
		<SupportWeb VALUE="http://support.huawei.com/" />
		<!-- 邮箱 -->
		<Email VALUE="support_e@huawei.com" />
		<!-- 电话 -->
		<Phone VALUE="400-822-9999" />
		<!-- 版权信息 -->
		<Copyright VALUE="Huawei Technologies Co., Ltd. 2004-2025. All rights reserved." />
		<!-- 独立KVM下载链接信息-->
		<DownloadKVMLink VALUE="http://support.huawei.com/onlinetoolsweb/itexpress/kvmclient/" />
		<!-- 版权信息(示例:VALUE="en,zh" 对应支持英中文) -->
		<LanguageSet VALUE="en,zh,ja,fr,ru" />
		<!-- 产品信息联系人(示例:VALUE="http://enterprise.huawei.com/") -->
		<sysContact VALUE="http://enterprise.huawei.com/" />
		<!-- 文档二维码显示标志位(示例:VALUE="1" 值为“0”,“1”,其它值默认为“0”)-->
		<DocSupportFlag VALUE="1" />
		<!-- 软件名称(示例:VALUE="iBMC") -->
		<SoftwareName VALUE="iBMC" />
		<!-- Redfish OEM厂商(示例:VALUE="Huawei" 对应支持英中文) -->
		<CustomManufacturer VALUE="Huawei" />
		<!-- 告警/事件描述(示例:VALUE="iBMC")-->
		<CustomAlarmName VALUE="iBMC" />
		<!-- 操作/运行/安全日志(示例:VALUE="iBMA")-->
		<CustomLogIbmaName VALUE="iBMA" />
		<!-- 操作/运行/安全日志(示例:VALUE="iBMC") CLI界面命令提示符-->
		<CustomLogIbmcName VALUE="iBMC" />
		<!--安全公告(示例:VALUE="安全公告" )-->
		<dBannerContent VALUE="WARNING! This system is PRIVATE and PROPRIETARY and may only be accessed by authorized users. Unauthorized use of the system is prohibited. The owner, or its agents, may monitor any activity or communication on the system. The owner, or its agents, may retrieve any information stored within the system. By accessing and using the system, you are consenting to such monitoring and information retrieval for law enforcement and other purposes."/>
	</CUSTOM_CONFIG>

图片文件等恢复默认,需要配置filelist.conf,把原来的Name配置成CLEAR_ALL, 然后在创建一个空文件,名称为CLEAR_ALL即可。注意在manifest配置的的时候,files中的配置需要包含这个CLEAR_ALL文件。升级白牌包时,遇到CLEAR_ALL配置,就会删除对应路径下的文件

filelist.conf配置举例

#white branding file list

[Basic]
Version=2.01

[Filelist]
FileNum=8

[File0]
Name=code1.png
Path=/data/opt/pme/web/htdocs/theme/custom/img

[File1]
Name=favicon.ico
Path=/data/opt/pme/web/htdocs

[File2]
Name=logo.jpg
Path=/data/opt/pme/web/htdocs/bmc/resources/images/cmn

[File3]
Name=CustomizeSensor.xml
Path=/data/opt/pme/conf/oem/profile

[File4]
Name=CLEAR_ALL
Path=/data/opt/pme/conf/oem/profile

[File5]
Name=CLEAR_ALL
Path=/data/opt/pme/web/htdocs/theme/custom/img

[File6]
Name=web_custom.xml
Path=/data/opt/pme/web/conf

[File7]
Name=CLEAR_ALL
Path=/data/opt/pme/web/custom
1 个赞

既然按照指导文档会出现失败,麻烦能更新下文档吗

1 个赞

有具体错误案例吗

1 个赞
1 个赞

见社区issue, 已经在manifest修复合入。

手动解决方案:
参考PR 修改。

请问可以在白牌包中定制SSL证书么

可以的,

image

image

1 个赞

请问有碰到这种问题么? 我通过白牌包导入ssl证书导入不了,但是在web上手动导入可以:

你好老师, 目前这边在做800I A3的白牌定制,遇到一些不清楚的地方,需要做下技术支撑(目前主要是在步骤4和步骤5)

  1. 步骤四中manifest.yml
    1. file路径的型号是否需要修改【例如file: customization/Server/Kunpeng/TaiShan200_2280v2/WBD/favicon.ico中的TaiShan200_2280v2】
    2. manifest.yml 的文件需要存放在哪个文件路径中,这个在文档中没有看到
  2. 步骤五
    1. 这边目前拿到的是bingo工具,对接老师说是可以使用, 但在上面manifest.yml中的必须文件指向/usr/share/bmcgo/, 麻烦老师确认下,bingo工具是否可以用于定制A3的HPM包
    2. 命令【bmcgo publish -z WBD -b TaiShan200_2280v2】中的-z参数 和-b参数, 是否需要针对 A3的型号来设置

1.file路径只需要仓库与manifest.yml配置对应的文件路径对应即可
2.manifest.yml文件见对应组件仓在AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台
3.理论来说不区分机型,只要是用openUBMC都可用bingo进行制作对应的白牌包
4.-z和-b参数内容可自定义,需要修改manifest.yml文件内容和manifest新增产品

你好,问题回复如下:
1、file路径为实际存放定制文件的路径,因此需要按实际进行修改,此处仅为示例
2、manifest.yml文件存放于manifest仓中,以社区manifest仓为例就是存放在build/product/BMC/openUBMC/manifest.yml
3、bingo是否能构建白牌包以对接老师的回复为准
4、-z后面的构建编码是可以自己定义的,不一定是WBD,-b后面的参数是机型编码,需要根据实际修改

你好 请问我制作的品牌包中定制了SSL证书,像下面这样:

在做清白牌包时碰到了如下三个问题:
①ssl证书无法通过CLEAR_ALL来清除
image

②favicon.ico也无法通过改成CLEAR_ALL来恢复为openubmc的默认

③当我进行如下配置时


code1.png会被强制替换为这个链接的二维码:https://info.support.huawei.com/computing/qrcode/ibmc/index-cn.html