使用 openUBMC Studio 进行网卡适配

本文档介绍如何通过 openUBMC Studio 的模版浏览器快速生成 PCIe 网卡驱动模版,并完成基本的适配配置和出包操作。

章节总览见《部件驱动适配指南》;完整适配流程见《网卡驱动适配指南》。

1. 克隆代码仓

component_drivers 代码仓克隆到本地:

bash
git clone https://gitcode.com/openUBMC/component_drivers.git

克隆完成后,使用 openUBMC Studio 打开项目根目录。

2. 打开模版浏览器

在 openUBMC Studio 界面左下角,点击 模版浏览器 图标,打开模版浏览面板。

3. 生成 PCIe 网卡驱动模版

  1. 在模版浏览器中,选择 PCIe 网卡驱动模版
  2. 点击 生成到文件夹 按钮。
  3. 在弹出的目标文件夹选择对话框中,选择项目中的 drivers/pcie_nic_card/ 目录作为生成目标路径。

生成的模版文件将包含以下内容:

drivers/pcie_nic_card/
└── [厂商目录]/
    ├── csr/
    │   ├── [默认名称].dds      # 设备描述文件
    │   └── [默认名称].sr       # 硬件自描述信息文件
    ├── interface/              # 接口实现目录
    ├── [型号目录]/             # 驱动实现代码
    └── meson.build

4. 修改 SR 和 DDS 文件名

根据目标网卡的设备标识信息,将 csr/ 目录下生成的 .sr.dds 文件重命名为对应的四元组格式:

命名格式:14140130_[VID][DID]_[SVID][SSID].dds
          14140130_[VID][DID]_[SVID][SSID].sr

以 VID=0x19e5、DID=0x0222、SVID=0x19e5、SSID=0x0052 的网卡为例,文件名应修改为:

14140130_19e50222_19e50052.dds
14140130_19e50222_19e50052.sr

注意

.dds.sr 文件必须使用相同的前缀名称,框架通过文件名匹配加载对应的配置。

5. 提升版本号

在编译出包之前,需要在 mds/service.json 中提升版本号。打开该文件,将 version 字段的值递增:

json
{
    "name": "component_drivers",
    "version": "1.2.167",
    ...
}

注意

版本号需遵循语义化版本规范(主版本号.次版本号.修订号),每次出包前务必递增,避免版本冲突。

6. 编译出包

在项目根目录下执行以下命令进行编译出包:

bash
bingo build

编译成功后,生成的驱动库文件将输出到 conan 缓存中。